在多个字段SQL中的谓词时重复的答案

时间:2011-11-16 14:28:47

标签: sql database predicate

我对此很陌生,即使是与我的问题类似的问题的答案对我来说也没有任何意义(我上周开始使用SQL)

我正在尝试列出表1中的地址,其中每个地址中有多个地址具有相同的第一个和姓氏(即John Smith和John Smith)。我在不同的领域有名字和姓氏。

我试过

SELECT *  
FROM addresses  
WHERE EXISTS (  
    SELECT individuals.FirstName  
    AND individuals.Surname  
    FROM individuals  
    WHERE addresses.AddressID = individuals.AddressID  
    GROUP BY addresses.StreetName  
    HAVING COUNT( * ) >1`  

但这只是给我一个包含多个人的地址的列表.. 任何人都可以给我一个(简单的)答案,我可能会理解。 谢谢,斯泰西

3 个答案:

答案 0 :(得分:1)

如果你添加

individuals.FirstName, individuals.Surname

之后

GROUP BY addresses.StreetName

然后那应该做你想要的。

答案 1 :(得分:1)

SELECT addresses.* 
FROM addresses
INNER JOIN
(
    SELECT AddressID 
    FROM individuals
    GROUP BY AddressID, FirstName, Surname
    HAVING COUNT(*) > 1
) as tbl1
ON tbl1.AddressID = addresses.AddressID

答案 2 :(得分:0)

怎么样:

SELECT 
    a.*

FROM 
    addresses a
        JOIN
    individuals i
    ON a.AddressID = i.AddressID

GROUP BY
    a.StreetName, i.FirstName, i.Surname

HAVING
    COUNT(1) > 1