[英]concatenate rows with same id in mariadb?
我想用相同的pid
連接name
。
下面是我正在嘗試的查詢。 但這給了我錯誤:
#1064-您的SQL語法有誤; 檢查與您的MariaDB服務器版本相對應的手冊,以在第3行的'@ tbl1 WHERE pid = tbl1.pid FOR XM'附近使用正確的語法
SELECT *,STUFF((
SELECT DISTINCT', ' + tbl1.name
FROM @tbl1
WHERE pid = tbl1.pid
FOR XML PATH('')), 1, 2, '')
FROM (
SELECT DISTINCT pid
FROM @tbl1
) tbl1
INNER JOIN tbl2 ON tbl2.pid = tbl1.pid
UPDATE
樣本數據
pid name
1 Editor
1 Reviewer
7 EIC
7 Editor
7 Reviewer
7 Editor
19 EIC
19 Editor
19 Reviewer
所需數據
1 Editor,Reviewer
7 EIC,Editor,Reviewer
19 EIC,Editor, Reviewer
您可以在mysql中使用group_concat
select pid,group_concat(name)
from your_table
group by pid
它將返回3行,包括pid和逗號分隔的名稱列表
還要注意:“結果被截斷為group_concat_max_len系統變量給定的最大長度,該變量的默認值為1024。盡管可以將返回值的有效最大長度限制為,但可以將其設置為更高的值。 max_allowed_packet的”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.