我有两个表,A和B,我试图根据连接查询从A中选择行。 我从这些表中获取了一些记录,但是有一些重复的条目。我应该如何过滤此查询以避免重复行?现在,我通过Java代码将它们放入HashSet中来实现。
答案 0 :(得分:8)
关键字DISTINCT用于消除查询结果中的重复行:
SELECT DISTINCT ...
FROM A
JOIN B ON ...
但是,如果表格组织正确并且您正确加入,有时候(可能甚至“经常”,但并非总是)可以避免使用它。
要获得更多信息,您将不得不通过具体的例子更清楚地提出您的问题。
答案 1 :(得分: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
。