[英]How to write SQL query for this Scenario?
您需要一個aggegation函數作為GROUP_CONCAT來獲取name的逗號分隔結果
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')
withou aggegation函數你得到分隔行的結果..而不是group_concat的group你獲得與同一行上的一個l1相關的所有名稱
您使用JOIN (內部聯接)加入兩個表。 然后使用GROUP BY
獲取聚合數據,最后使用GROUP_CONCAT函數來實現逗號分隔的名稱。 見下文:
SELECT table1.l1, GROUP_CONCAT(table2.name)
FROM table1
JOIN table2 ON table1.t1 = table2.t
GROUP BY table1.l1
使用此查詢
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
SQL小提琴在這里測試它http://sqlfiddle.com/#!9/3ac3a3/1/0
這個sql會得到結果。
SELECT L1, GROUP_CONCAT(name) from Table1 INNER JOIN Table2 on T1 = T GROUP BY L1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.