【发布时间】:2020-10-16 14:11:31
【问题描述】:
当与另一个 SQL 表进行左连接时,我的一些左表行被复制并与多个右表行连接,因为在我的使用中,这意味着这些是不明确的行,我需要能够过滤具有相同的值。
即
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 行已与 Table_2 中的多行连接,因此它被查询拒绝。
我查看了Finding duplicate values in a SQL table 并能够使用它来查找 Table_1 中的重复项,但不能查找已连接到多个 Table_2 行的行。任何帮助将不胜感激。
【问题讨论】:
-
请在考虑发布之前阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有或没有您的特定字符串/名称和站点:stackoverflow.com & 标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。
-
我的意思是剪切和粘贴 SQL 版本。我将会。但是,如果您关注我的第一条评论,您会发现很多问答都在回答这个问题。显然,我们可以预料,您不是第一个面对这种情况的人。 ...SQL query that gives distinct results that match multiple columns
标签: sql join duplicates