当与另一个sql表进行左连接时,我的一些左表行被复制,并与多个右表行连接,因为在我的用法中,这意味着这些行是不明确的行,我需要能够过滤彼此具有相同值的行。
ie公司
Select Table_1.Id, Table_1.Value, Table_2.Id, Table_2.Value
From Table_1 Left Join Table_2 on Table_1.Value = Table_2.Value
导致:
Table_1.Id, Table_1.Value, Table_2.Id, Table_2.Value
1 T 2 T
2 G 3 G
2 G 5 G
3 K 1 K
4 M 4 M
但是,我想创建一个查询,结果是:
Table_1.Id, Table_1.Value, Table_2.Id, Table_2.Value
1 T 2 T
3 K 1 K
4 M 4 M
其中,由于第2行已与表2中的多行联接,因此将从查询中拒绝该行。
我已经研究过在sql表中查找重复值,并且能够使用它来查找表1中的重复值,而不是连接到多个表2行的行。任何帮助都将不胜感激。
1条答案
按热度按时间rfbsl7qr1#
你可以用
count()
作为窗口函数:根据你的样本数据,
left join
似乎不合适。