我需要一些帮助来编写查询以将名称合并到与外键关联的列表中。这是我当前的查询,
select distinct concat(c_first, ' ', c_last) as name, pmt_no
from disbursements d
left join contacts c on c.c_no = d.b_no
where d.ba_no = 1
我的结果集如下所示
Louis Vaz, 586014
Antionette An, 690682
Brian Cald, 690682
Mark Brian, 3233902
我希望的结果是
Louis Vaz, 586014
Antionette An - Brian Cald, 690682
Mark Brian, 3233902
请注意,pmt_no 690682的所有人现在都加入了' - '将它们分开。
答案 0 :(得分:3)
您可以使用GROUP_CONCAT()
功能来实现您的目标:
select group_concat(distinct concat(c_first, ' ', c_last) SEPARATOR ' - ') as name, pmt_no
from disbursements d
left join contacts c on c.c_no = d.b_no
where d.ba_no = 1
group by pmt_no
答案 1 :(得分:2)
我认为您需要group_concat()
以及group_by
:
select group_concat(c_first, ' ', c_last separator ' - ') as names,
pmt_no
from disbursements d left join
contacts c
on c.c_no = d.b_no
where d.ba_no = 1
group by pmt_no;