我想找出2个表之间的差异,输出应该是预期的格式
表AAA(NUM,TXT)
表BBB(NUM,TXT)
我在oracle中使用下面的查询来获得差异
select 'only A' where_, only_a.* from (select num, txt from AAA minus select num, txt from BBB) only_a union all
select 'only B' where_, only_b.* from (select num, txt from BBB minus select num, txt from AAA) only_b
输出为
我想要或期望的输出是
我想最好的查询,以获得所需的格式输出,如在这个问题所示
2条答案
按热度按时间rfbsl7qr1#
你可以用一个
FULL OUTER JOIN
(而不是你的查询,SELECT
从表中s 4次,使用2个MINUS
es和一个UNION ALL
):其中,对于样本数据:
输出:
| 什么|NUM| TXT|
| - -----|- -----|- -----|
| 只有A| 2|太|
| 只有B| 2|两个|
| 只有A| 3|三个|
| 只有B| 3|联系我们|
| 只有B| 5个|五|
fiddle
b5lpy0ml2#
样本数据:
查询: