请问一下在SQLSERVER中把一个表的一个字段的值附加到另一个表这种情况怎样解决?

我有两个表A和B
在A和B中有两个相同的字段C1和C2,现在我想把B表中的C2
的所有值更新到A表中的C2中去,以C1为识别条件,这条语句应该
怎样写呢?小弟初识SQLSERVER还请帮忙,谢谢!

---------------------------------------------------------------

不要在企业管理器中打开表A/B表

还有,你确定你的表名字段名正确吗,还有,当前数据库是你数据表所在的数据库吗,呵呵:)

--------参见如下错误的帮助
错误 107
严重级别 15
消息正文
列前缀 ''%1!'' 与查询中所用的表名或别名不匹配。

解释
指定了未对应于查询中指定的任何表名的列前缀。将列前缀与 FROM 子句中的表名和别名相匹配。

该错误的一个常见起因是当提供了表的别名时使用表名。当使用表别名(ANSI 术语中的相关名称)时,Microsoft® SQL Server™ 中的语法检查遵照 ANSI 规范。ANSI 指出

A

 1<table name=""> ... is exposed ... if and only if the <table reference="">   
 2does not specify a <correlation name="">.   
 3  
 4如果已在 FROM 子句中为表名提供了别名,则只可以使用别名来限定表中的列;表名不能在语句中的其它任何位置使用,否则将被标记为语法错误。   
 5  
 6作为行为上的区别的例子,假定已执行以下脚本:   
 7  
 8USE Northwind   
 9GO   
10SELECT Customers.ContactName   
11FROM Customers cu   
12WHERE ContactName LIKE 'C%'   
13GO   
14SELECT cu.ContactName   
15FROM Customers cu   
16WHERE Customers.ContactName LIKE 'C%'   
17GO   
18  
19在两个 SELECT 语句中,注意尽管已提供表别名 cu 来代替表名,但还是使用了 Customers 来限定列 ContactName。这两个查询都返回以下错误信息:   
20  
21服务器:错误信息 107,级别 16,状态 3   
22  
23列前缀 ''Customers'' 与查询中所用的表名或别名不匹配。   
24  
25对策   
26使用对应于表的表现名称的列前缀。   
27  
28重写使用表名限定列名的所有查询。改为使用表别名。例如,以下 SELECT 语句等同于上面的语句,并使用表别名限定列:   
29  
30USE Northwind   
31GO   
32SELECT cu.ContactName   
33FROM Customers cu   
34WHERE cu.ContactName LIKE 'C%'   
35GO   
36  
37  
38\---------------------------------------------------------------   
39  
40update a   
41set A.c2=b.c2   
42from table1 A left join table2 b on A.c1=B.c1</correlation></table></table>
Published At
Categories with 数据库类
Tagged with
comments powered by Disqus