为了账号安全,请及时绑定邮箱和手机立即绑定

oracle sql 汇总三张表数据,采用left join或full join,详细如下图

oracle sql 汇总三张表数据,采用left join或full join,详细如下图

子衿沉夜 2019-04-08 04:04:48
不采用left join或full join也可以
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

A表 A1

B表 B1,B2

C表C1,C2

SQL如下

1

2

3

4

5

6

7

8

9

10

11

select case r1 when 1 then A1 else '' end as A1,

       case r2 when 1 then B2 else '' end as B2,

       case r3 when 1 then C2 else '' end as C2

  from (

          select A1,B2,C2

                 row_number() over (partiotion by A1 by B2,C2) as r1,

                 row_number() over (partiotion by A1,B2 by C2) as r2, 

                 row_number() over (partiotion by A1,C2 by B2) as r3

            from A,B,C

           where A.A1 = B.B1 and A.A1 = C.C1

         ) T


 


查看完整回答
反对 回复 2019-04-09
?
POPMUISE

TA贡献1765条经验 获得超5个赞

对,是少个逗号

1

2

3

4

5

6

7

8

9

10

11

select case r1 when 1 then A1 else '' end as A1,

       case r2 when 1 then B2 else '' end as B2,

       case r3 when 1 then C2 else '' end as C2

  from (

          select A1,B2,C2,

                 row_number() over (partiotion by A1 by B2,C2) as r1,

                 row_number() over (partiotion by A1,B2 by C2) as r2, 

                 row_number() over (partiotion by A1,C2 by B2) as r3

            from A,B,C

           where A.A1 = B.B1 and A.A1 = C.C1

         ) T

把rownumber()换成row_number()

 


查看完整回答
反对 回复 2019-04-09
  • 3 回答
  • 0 关注
  • 2428 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信