我想获取一个表中但不在另一个表中的用户信息。 数据样本:
Table_1
user1 user2 flag_ind
Ambra Burn 1
Ambra Downs 0
Chris Leopold 1
Martin Stewart 0
Table 2
user1 user2 flag_ind
Ambra Burn 0
Greg See 1
Curtis John 0
Expected output
user1 user2
Ambra Downs
Chris Leopold
Martin Stewart
Greg See
Curtis John
我使用左连接来获取两个数据集之间的差异。我需要比较表 1 中 user1 的值和表 2 中 user1 的值,以及 表 1 中 user2 的值和表 2 中 user2 的值并得到最终列表。 现在,我发现当我使用左连接与减号时,缺失值有所不同。 你能帮我得到想要的输出并理解为什么 left join 和 minus 会产生不同的值吗?
谢谢
我不明白你所说的左连接减号是什么意思。最好能显示你的sql语句。但可以遵循以下解决方案:
(SELECT *
FROM Table_1
EXCEPT DISTINCT
SELECT *
FROM Table_2)
UNION DISTINCT
(SELECT *
FROM Table_2
EXCEPT DISTINCT
SELECT *
FROM Table_1)
UNION DISTINCT 之前的第一部分为您提供 table_1 中不在 table_2 中的内容。
UNION DISTINCT 后面的部分给出了 table_2 中不在 table_1 中的内容。
你结合 UNION DISTINCT,你得到了两个表之间的区别。