求简单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
...全文
128 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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)

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧