我有两个表:一个包含企业列表和另一个电话号码列表。
我正在尝试从第一个表输出业务列表,并使用数字连接第二个表。我遇到的问题是,我可以为同一个业务提供多个号码,因此当我输出结果时,我会获得同一业务的多个记录,而不是拥有多个电话的单个业务记录。这是我的疑问:
SELECT
busName,
busAddress
FROM business_profile
LEFT JOIN business_numbers ON (business_numbers.num_ID = business_profile.bus_ID)
WHERE busMemID = 33
我想我可以先运行第一个查询,然后在第二个查询中查找每个商家的数字,但我认为必须将两者合二为一。我错过了什么。
答案 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
返回一行,将地址组合成一个以逗号分隔的单个字段。