如何组合table1和table2的COLUMN2?
SELECT COLUMN1, COLUMN2 FROM TABLE1
C1 C2
A 1
SELECT COLUMN1, COLUMN2 FROM TABLE2
C1 C2
A 1
B 2
C 2
C1 C2 C3
A 1 1
B 2 0
C 2 0
我希望第三列结合两个表的column2,基于column1,其值为A,B,C . 然后,如果它在任一个表中为null,则值应为0请参见第三个样本以获取样本结果 .
5 回答
这是你必须要寻找的
试试这个
因此,您希望根据键列
COLUMN1
匹配两个表中的记录 . 如果一条记录只存在于一个表格中 .COLUMN3
表示密钥是否存在于两个表中 .此解决方案使用
FULL OUTER JOIN
,因此无论记录是否存在于T1
但不是T2
或T2
但不是T1
,它都将起作用 .coalesce()
函数显示第一个非null参数 .假设 . 此查询忽略
t1.COLUMN1 = t2.COLUMN1
但t1.COLUMN2 != t2.COLUMN2
的情况 . 它只会在结果集中显示t1.COLUMN2
. 如果这不是您想要的结果,请编辑您的问题以包含更多样本数据和完整的所需输出 .为避免混淆,假设table_1有2列(C1,C2),table_2有2列(C3,C4) . 我刚刚将table_2的第1列和第2列重命名为第3列和第4列 .
根据我从您的问题中理解,您希望结果中table_2的所有记录以及包含来自基于table_1的c3列的值的新列 .
要求
Table_1 right outer join Table_2
与NVL显示0,表1中缺少值(B&C)完整查询如下
希望这能回答您的疑问 . 如果这样可以解决您的问题,请标记答案 .
请试试这个代码......