我有两个表,“名称”和“地址”。我想列出last_name
并加入所有last_name
在表“名称”中出现多次的表“名称”中的address.street_address
。MySQL - 显示按名称分组的名称和地址行,其中名称发生多次
这两个表被连接在“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的”表“名称”中只出现一次,然后在“阿伯内西”不应该被包含在结果中。
这是我想出了迄今:
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
然而,这将产生每个姓氏只有一行。我想列出所有的姓氏。我知道我缺少一些简单的东西。任何帮助表示赞赏,谢谢!
我不禁大为没有什么是每个table.My直觉列知道,uou'll需要做一个子查询。 – 2009-10-22 00:23:22