2014-10-27 7 views
0

Я пытаюсь изменить принятый ответ в этом вопросе: Find duplicate records in MySQL, чтобы найти дубликаты записей в моей таблице на основе двух полей: Firstname и Lastname.Найти дубликаты записей на основе двух полей

Это оригинальный запрос, который отлично работает и находит дубликаты записей на основе LastName ...

SELECT Firstname, candidate.Lastname FROM candidate 
INNER JOIN (SELECT Lastname FROM candidate 
GROUP BY Lastname HAVING count(UserID) > 1) dup ON 
candidate.Lastname = dup.Lastname ORDER BY Lastname 

Теперь я хочу добавить ПгвЬЫате там, как хорошо ... но я не совсем уверен, что Я делаю следующее не работает:

SELECT candidate.Firstname, candidate.Lastname FROM candidate 
INNER JOIN (SELECT Firstname AND Lastname FROM candidate 
GROUP BY Lastname HAVING count(UserID) > 1) dup ON 
candidate.Lastname = dup.Lastname AND candidate.Firstname = dup.Firstname 
ORDER BY Lastname 

ответ

1

Похоже, вы только что синтаксис немного плохого в суб-запроса, может быть, это то, что вы хотите?

SELECT candidate.Firstname, candidate.Lastname 
FROM candidate 
INNER JOIN (
    SELECT Firstname, Lastname 
    FROM candidate 
    GROUP BY Firstname, Lastname 
    HAVING COUNT(UserID) > 1 
    ) dup 
    ON candidate.Lastname = dup.Lastname AND candidate.Firstname = dup.Firstname 
ORDER BY Lastname 
+0

Легендарный, спасибо большое! – dlofrodloh