【发布时间】:2015-11-04 15:42:38
【问题描述】:
我需要在 Oracle SQL 中编写如下查询:
select a,b,null,null from table1
union
select null,null,c,d from table2
union
select null,null,null,null,e,f from table3
我希望输出是这样的:
a,b,c,d,e,f
编辑:对不起,我不得不更新这个问题,因为我问的原始问题与我期望的输出不匹配。
我有如下表格:
TABLE1
---------
A | B
---------
A1 | B1
A2 | B2
A3 | B3
TABLE2
---------
C | D
---------
C1 | D1
C2 | D2
C3 | D3
C4 | D4
C5 | D5
TABLE3
---------
E | F
---------
E1 | F1
E2 | F2
E3 | F3
E4 | F4
E5 | F5
E6 | F7
E7 | F8
我不知道如何编写可以获取以下输出的 Oracle sql。如下所示,我不需要空值在所有输出字段的开头
A B C D E F
------- ------- ------- -------- -------- -------
A1 B1 C1 D1 E1 F1
A2 B2 C2 D2 E2 F2
A3 B3 C3 D3 E3 F3
null null C4 D4 E4 F4
null null C5 D5 E5 F5
null null null null E6 F7
null null null null E7 F8
【问题讨论】:
-
显示 ddl。看起来你必须使用
join而不是union。 -
要使用
UNION,您需要选择相同数量的列。 -
每个表中的记录是否以某种方式相互关联,或者每个表只有一个?
-
表中的记录彼此不相关。它们是具有不同列的不同表