求简单SQL

fength2004 2006-08-29 09:45:47
有两张表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
...全文
108 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fength2004 2006-08-29
都是高人啊, 谢了,
回复
wiler 2006-08-29
偶也要分分,hoho
select A1.M, A1.N, A2.N from A1 ,A2
where A1.M = A2.M(+)
union
select A2.M, A1.N, A2.N from A1 ,A2
where A1.M(+) = A2.M
回复
chinacomstar 2006-08-29
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
回复
xiaoxiao1984 2006-08-29
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)
回复
相关推荐
发帖
基础和管理
创建于2007-09-28

1.7w+

社区成员

Oracle 基础和管理
申请成为版主
帖子事件
创建了帖子
2006-08-29 09:45
社区公告
暂无公告