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

两表更新求助
有表A、B,
A表的结构如下:
ID     colA   colB   colC
1           a         b       c
2           x         y       z
表B
colA     colB   colC
a             b           o
x             y           p
m             n           q
...现在要从B表中插入更新数据到A表中,规则如下:
如果B表中存在与A表中colA   colB相同的行,则用B表colC的数据更新A表中ColC的数据,如果B表中有A表中不存在的行,则插入新行到A表中,怎样写这样的语句?
语句成功后,A表的数据如下:
ID     colA   colB   colC
1           a         b       0
2           x         y       p
3           m         n       q



------解决方案--------------------
不好意思,居然看錯了,兩句都改下

Update A Set A.colC = B.colC From A Inner Join B On A.colA = B.colA And A.colB = B.colB

Insert A(colA, colB, colC) Select colA, colB, colC From B
Where Not Exists (Select colA, colB From A Where colA = B.colA And colB = B.colB)