Mysql将两个表和concat值连接在一列中的多行中,结果为string
在MySQL数据库中,我有如下两个表: 仪表:Mysql将两个表和concat值连接在一列中的多行中,结果为string,mysql,sql,Mysql,Sql,在MySQL数据库中,我有如下两个表: 仪表: id data comments ------------------------------------- 1 x someThing 2 y someThing 4 z someThing 9 x someThing 医务人员: id status gauge_id do
id data comments
-------------------------------------
1 x someThing
2 y someThing
4 z someThing
9 x someThing
医务人员:
id status gauge_id docName
--------------------------------
1 ok 1 x.png
2 nok 1
3 nok 1
4 ok 1 y.png
5 ok 1 z.png
6 nok 2 u.png
7 nok 2 x.png
8 ok 4 x.png
9 ok 2 u.png
10 ok 4 y.png
我需要选择并连接表,根据第二个表查找第一个表中每一行的状态。
像这样:
结果
id data status
-------------------------------------
1 x ok,nok,nok,ok,ok
2 y nok,nok,ok
4 z ok,ok
9 x
我想下面的链接是关于我的问题的,但并不确切
以下代码不起作用:
select gauges.*,documantaries.* join on gauges.id=documantaries.gauge_id ;
您可以使用se
left join
和group\u concat()
:
很好,正在工作,但是请更正第5行(d.id->g.id),我会接受这个答案,谢谢
select g.id, g.data,
group_concat(d.status order by d.id) as statuses
from guages g left join
documantaries d
on d.gauge_id = g.id
group by g.id, g.data;