求一个SQL语句 ( 积分: 100 )

  • 主题发起人 主题发起人 liangzhang3942
  • 开始时间 开始时间
L

liangzhang3942

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个表:
第一个:有字段A,B
第二个:有字段C,D
我想将第一个表的A值付给第二个表的C值,条件是第一个表的B值等于第二个表的D值,请问这个SQL语句怎么写呀
谢谢大家
 
--T1(A, B), T2(C, D)
UPDATE T2 SET C = T1.A
FROM T1
WHERE T2.D = T1.B
 
update T2 set T2.C=(SELECT T1.A FROM T1,T2 where T1.B=T2.D)
 
一个效果
 
我看看,实现了立刻给分
 
不行呀,各位老大,我的第一个表的A值是唯一的,但是第二个表中的C值是多个的,用了这个SQL语句时弹出了这样的错误“子查询返回的值多于一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
语句已终止。”,怎么办呀
 
等着着急呀,各位老大,帮帮我呀
 
用Update还不行,说有错误
 
update (select * from Table2 left join Table1 on table1.BB=Table2.DD) set AA=cc
用这个语句报的错误是:服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '(' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: '=' 附近有语法错误。
 
update table2 set c=(select top 1 a from table1 where table1.b=table2.d)
 
你们说的都不对,但是还是谢谢你们,我自己弄出来了
 
多人接受答案了。
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
915
SUNSTONE的Delphi笔记
S
后退
顶部