2019-03-01
阅读量:
828
SQL查询
问题描述:
表A的数据:
|column A|
1
2
3
表B的数据:
|column A| |column B|
1 1001
2 1001
3 1002
表C的数据:
|column A|
1001
1002
1003
希望根据表A, C找到表B中没有匹配到的数据并插入表D,表D的结果应该为:
|column A| |column B|
1 1002
1 1003
2 1002
2 1003
3 1001
3 1002
3 1003
前两行表示从B中得知1匹配到了1001,根据表C说明1002和1003没有匹配到,于是加入到表D
请问SQL语句如何实现?
解决方法:
insert into D
select
*
from (
select
a.columnA as columnA,
c.columnA as columnB
from
C as c,
A as a
) as e
left join
B
using
(columnA, columnB)
where
B.columnA is null;






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论