热线电话:13121318867

登录
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;

23.9060
6
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子