有两张表A1,A2, 其中M,N 为表的项目, M为主键
表A1 表A2
M N M N
___________ _______
a 1 a 2
b 11 c 22
求用SQL文实现如下结果
M A1.N A2.N
___________________________
a 1 2
b 11 null
c null 22
...全文
1285打赏收藏
求简单SQL
有两张表A1,A2, 其中M,N 为表的项目, M为主键 表A1 表A2 M N M N ___________ _______ a 1 a 2 b 11 c 22 求用SQL文实现如下结果 M A1.N A2.N ___________________________ a 1 2 b 11 null c null 22
select A1.M,A1.N,B1.M,B1.N from A1 LEFT JOIN B1 ON A1.M=B1.M
union
select A1.M,A1.N,B1.M,B1.N from A1 RIGHT JOIN B1 ON ON A1.M=B1.M
如果还想多一点判断,还可以在Column前面加iif的判断,比如为空就置0
比如iif(A1.N is null,0,A1.N)
这样可以吗,可以的话要记得给分哦,hoho
select A1.M, A1.N, A2.N from A1 left join A2 on A1.M = A2.M
union all
select A2.M, null, A2.N from A2 where not exists(select 1 from A1 where A1.M = A2.M)