我有两个表,A和B,我试图从A基于联接查询选择行。 我从这些表中获取一些记录,但有一些重复的条目。我应该如何过滤这个查询以避免重复的行?现在,我通过将它们放入HashSet来通过Java代码来完成它。SQL连接:加入两个表时避免重复的条目?
1
A
回答
8
关键字DISTINCT用于从查询结果中消除重复行:
SELECT DISTINCT ...
FROM A
JOIN B ON ...
不过,有时你可以(甚至可能是“常”,但不总是)避免了需要它,如果表是正确组织并且您正确连接。
要获得更多信息,您将不得不更清楚地问你的问题,并附上具体的例子。
+0
+1! – JohnB 2010-12-19 07:50:05
3
你必须解释表结构,但我可以理解你的问题。您可以使用此查询:
select a.atribute1, a.atribute2, b.atribut1, b.atribut2
from a inner join b
on a.primarykey = b.foreign_key
where a.atribute = ""
group by a.atribute2, b.atribute2
您可以使用a.atribute = ""
进行验证。
如果您想在该属性的一个组中使用group by a.atribute2, b.atribute2
。
“我从这些表中获取了一些记录,但是有一些重复条目如何过滤这个查询本身”几乎不能很好地描述您的问题。 – 2010-12-19 02:21:58
你能告诉我们你当前的查询吗? – drpcken 2010-12-19 02:22:02
和你的表结构。 – 2010-12-19 02:23:23