mysql - Найти повторяющихся пользователей с заменой имени / фамилии - PullRequest
0 голосов
/ 12 октября 2011

Мне нужно найти пользователей, которые были дважды вставлены в таблицу, но поменялись их имя и фамилия.

например. Боб Смит находится в базе данных как

firstname:Bob 
lastname:Smith
&
firstname:Smith
lastname:Bob

Какой лучший запрос для поиска этих пользователей?

Сервер работает mysql.

Ответы [ 3 ]

2 голосов
/ 12 октября 2011
SELECT
    firstname, lastname
FROM
    (
    SELECT firstname, lastname FROM MyTable -- WHERE firstname <> lastname
    UNION ALL
    SELECT lastname, firstname FROM MyTable -- WHERE firstname <> lastname
    ) foo
GROUP BY
   firstname, lastname
HAVING 
   COUNT(*) > 1
2 голосов
/ 12 октября 2011
Select 
  *
FROM UserTable ut
JOIN UserTable ut2 on ut2.firstname = ut.lastname and ut2.lastname = ut.firstname
1 голос
/ 12 октября 2011
SELECT orig.firstname, orig.lastname
FROM yourtable AS orig
INNER JOIN yourtable AS dupes ON orig.firstname = dupe.lastname AND orig.lastname = dupe.firstname

Как правило, выполняйте самостоятельное объединение в пользовательской таблице, но только в тех записях, где происходит двойная замена fn / ln.

...