У меня есть две таблицы: «имя» и «адрес». Я хотел бы перечислить last_name
и объединить address.street_address
всех last_name
в таблице «имя», которые встречаются более одного раза в таблице «имя».
Две таблицы объединены в столбце "name_id".
Желаемый результат будет выглядеть так:
213 | smith | 123 bluebird |
14 | smith | 456 first ave |
718 | smith | 12 san antonia st. |
244 | jones | 78 third ave # 45 |
98 | jones | 18177 toronto place |
Обратите внимание, что если фамилия "abernathy" появляется только один раз в таблице "name", то "abernathy" не следует включать в результат.
Вот что я придумал:
SELECT name.name_id, name.last_name, address.street_address, count(*)
FROM `name`
JOIN `address` ON name.name_id = address.name_id
GROUP BY `last_name`
HAVING count(*) > 1
Однако, это производит только одну строку на фамилию. Я хотел бы перечислить все фамилии. Я знаю, что мне не хватает чего-то простого. Любая помощь приветствуется, спасибо!