【发布时间】:2018-06-03 02:12:49
【问题描述】:
我想将name 与相同的pid 连接起来。
以下是我正在尝试的查询。但它给了我错误:
#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
更新
样本数据
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,貌似MSSQL function
-
你是对的,它是 mssql 查询。我怎样才能在 mysql 中实现这一点?
-
请在您的问题中包含示例数据、表格定义和预期输出
-
为什么不包含pid 19?
-
包括在内。