Chinaunix

标题: sql语句问题求助 [打印本页]

作者: aQua99    时间: 2004-06-22 18:00
标题: sql语句问题求助
两个表t1、t2,t1的字段有a、b、c等,t2的字段有a、b、c等。
想进行这种操作:将t1中的a、b字段等于t2中的a、b字段的记录,
即t1.a=t2.a and t1.b=t2.b 的记录,将t1.c update成t2.c
请问sql语句如何写?
作者: amiescort    时间: 2004-06-22 18:25
标题: sql语句问题求助
  1. update t1 set c=
  2. (select c from t2 where t1.a=t2.a and t1.b=t2.b)
复制代码


此语句将把所有t1.c更新,如果t2表中不存在相应记录,则t1.c将置为空。如果不希望这样的话,可以这样改:
  1. update t1 set c=
  2. (select c from t2 where t1.a=t2.a and t1.b=t2.b)
  3. where c in (select c from t2)
复制代码

写的不是很好,大家多提意见。
作者: rock_jq    时间: 2004-06-22 21:33
标题: sql语句问题求助
update t1 ,t2 set t1.c=t2.c
where t1.a=t2.a and t1.b=t2.b;
可以吗?
作者: aQua99    时间: 2004-06-23 00:11
标题: sql语句问题求助
[quote]原帖由 "amiescort"][/quote 发表:

多谢了!
不过,代码2中的
  1. where c in (select c from t2)
复制代码

应该是"where a in (select a from t2)"吧?
作者: zoukunhong    时间: 2004-06-23 09:48
标题: sql语句问题求助
应该是where a||b in (select a||b from t2)




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2