[英]How to merge(columns) outputs of two SELECT statements in oracle sql?
我有两个选择查询。
第一个“选择”查询给出具有两列的输出,即。
A B
------
1 2
3 4
5 6
7 8
第二个Select查询给出给定输出,即列B和列C两列。此选择语句的列B中的所有值都与第一个选择语句的列B中的值匹配。
B C
------
2 25
4 50
6 30
8 50
现在,我需要合并以上两个Select查询的输出。 即
A B C
----------
1 2 25
3 4 50
5 6 30
7 8 50
我不能使用视图来存储两个选择查询的输出。 我需要在两个选择查询中都使用列B进行合并。 但是,我不知道如何去做。
如果你已经制定了查询(不只是表加入),您可以尝试使用with
建设
with
Query1 as ( -- <- Put your 1st Query text here
select A,
B
...
),
Query2 as ( -- <- Put your 2nd Query text here
select B,
C
...
)
select Query1.A,
Query1.B,
Query2.C
from Query1,
Query2
where Query1.B = Query2.B
如果您的情况不是那么复杂 ,例如Query1和Query2实际上都是表 ,比如说Table1
和Table2
那么您可以使用一个更简单的解决方案来做得很好:
select Table1.A,
Table1.B,
Table2.C
from Table1,
Table2
where Table1.B = table2.B
考虑一下您的表格,例如具有以下字段
TableA(A ,B) , TableB(B,C)
尝试像这样使用JOIN
SELECT TableA.A , TableA.B, TableB.C
FROM TableA
JOIN TableB ON TableA.B = TableB.B;
这可以通过使用B
列上的INNER JOIN
将您的第一个表连接到第二个表来完成:
SELECT T1.A,
T1.B,
T2.C
FROM Table1 T1
INNER JOIN Table2 T2 ON T2.B = T1.B
请注意,由于不确定它们的名称,因此我将您的第一个表Table1
(别名T1
)命名为第二个表Table2
(别名T2
)。
SELECT one.a, one.b, two.c
FROM table1 one JOIN table2 two
ON one.b = two.b
您可以使用加入
SELECT A.A,
A.B,
B.C
FROM Table1 A
INNER JOIN Table2 B ON B.B = A.B
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.