Table 1 Table 2
Column1 Column2 Column3 Column4 Column5 Column3
------- ------- ------- ------- ------- -------
A 1 a E 10 a
B 2 b F 11 b
C 3 c G 12 c
D 4 d H 13 d
Table 3 Table 4
Column6 Column7 Column4 Column8 Column9 Column6
------- ------- ------- ------- ------- -------
I 20 E M 30 I
J 21 F N 31 J
K 22 G O 32 K
L 23 H P 33 L
预期产出
Column1 Column9
------- -------
C 31
C 32
C 33
如何让输出看到上面的预期?
这是我目前正在学习的Oracle SQL课程。虽然这些表有共同的列,但问题是 NOT 使用公共列,而是使用不同的列来获取预期的输出,同时删除重复项。
答案 0 :(得分:0)
鉴于已发布的结构,此声明......
select tableA.column1
, tableD.column9
from tableA
cross join tableD
where tableA.column1 = 'C'
and tableD.column9 > 30
...将产生预期的输出。显然它作为一个查询没有意义,所以它是这个问题的恰当答案。
注意:如果OP使用正确的数据模型和实际数据编辑他们的问题,那么我当然会编辑我的答案,使其变得更加明智。
答案 1 :(得分:0)
当我需要创建报告并将两个不同的表合并为一个表时,这对我有用。最简单,不需要JOIN。
选择table1.column1,table4.column9 从表1,表4 WHERE column1 ='c'