加入包含多个结果的表格

时间:2014-10-09 00:51:10

标签: mysql

我有两个表:一个包含企业列表和另一个电话号码列表。

我正在尝试从第一个表输出业务列表,并使用数字连接第二个表。我遇到的问题是,我可以为同一个业务提供多个号码,因此当我输出结果时,我会获得同一业务的多个记录,而不是拥有多个电话的单个业务记录。这是我的疑问:

SELECT
    busName,
    busAddress
FROM business_profile
LEFT JOIN business_numbers ON (business_numbers.num_ID = business_profile.bus_ID)
WHERE busMemID = 33

我想我可以先运行第一个查询,然后在第二个查询中查找每个商家的数字,但我认为必须将两者合二为一。我错过了什么。

1 个答案:

答案 0 :(得分:0)

听起来您想使用group_concat

select bp.busname, group_concat(bn.busaddress separator ',') busaddresses
from business_profile bp
    left join business_numbers bn ON bn.num_ID = bp.bus_ID
where busMemID = 33
group by bp.busname

这将为每个不同的busname返回一行,将地址组合成一个以逗号分隔的单个字段。