SELECT table1.L1, GROUP_CONCAT(table2.name separator ', ')
FROM table1 AS table1
INNER JOIN table2 as table2 ON table1.T1 = table2.t
GROUP BY table1.L1
SELECT table1.L1,GROUP_CONCAT( table2.Name ORDER BY table2.Name ASC SEPARATOR ',')
FROM table1
INNER JOIN table2 on table1.T1 = table2.T
GROUP BY table1.L1
ORDER BY FIELD(table1.L1,'X','Y','Z')
如果没有聚集函数,就可以得到分隔行的结果。。相反,使用group by an group\ U concat可以获得与同一行上的一个l1相关的所有名称
4条答案
按热度按时间ev7lccsx1#
使用此查询
sql fiddle在这里进行实时测试http://sqlfiddle.com/#!9/3ac3a3/1/0号
olhwl3o22#
这个sql将得到结果。
SELECT L1, GROUP_CONCAT(name) from Table1 INNER JOIN Table2 on T1 = T GROUP BY L1
cotxawn73#
使用join(内部连接)连接两个表。然后使用
GROUP BY
获取聚合数据,然后最终利用groupconcat函数实现逗号分隔的名称。见下表:tsm1rwdh4#
您需要一个aggegation函数作为groupconcat来获取name的逗号分隔结果
如果没有聚集函数,就可以得到分隔行的结果。。相反,使用group by an group\ U concat可以获得与同一行上的一个l1相关的所有名称