日期:2014-05-19  浏览次数:20676 次

sql数据库的一个小问题50分
用a表更新b表
a表有(a1,a2,a3)列     列的内容如下;
a1       a2       a3
1         x1       y1
1         b1       c1
3         x3       y3
4         x4       y4

b表有(b1,b2,b3)列   内容如下
b1       b2       b3
1         x1       y1
1         b1       c1
2         x1       y1
2         b1       c1

    所需要的结果是   ;b表中b1   原有的1     1     2     2     列的内容不动   把a表的   a1   的3   ,4内容插入到   b表  
b1       b2       b3
1         x1       y1
1         b1       c1
2         x1       y1
2         b1       c1
3         x1       y1
4         x1       y1



------解决方案--------------------
insert b(b1, b2, b3)
select a1, a2, a3
from a
where a1 not in (select b1 from b)
------解决方案--------------------
不是楼主问题错了,就是楼上答案错了

请注意最后2行
b1 b2 b3

3 x1 y1
4 x1 y1
和a里的两行值不一样
a1 a2 a3

3 x3 y3
4 x4 y4
------解决方案--------------------
估计是 LZ 粗心了吧
一楼答案是正确.