我想将pid
与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
连接起来。
以下是我正在尝试的查询。但它给了我错误:
#1064 - 您的SQL语法出错;查看与您的MariaDB服务器版本对应的手册,以便在#< tbl1 WHERE pid = tbl1.pid附近使用正确的语法。对于XM'在第3行
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
所需数据
flutter run -d all
答案 0 :(得分:2)
您可以在mysql中使用group_concat
select pid,group_concat(name)
from your_table
group by pid
它将返回3行,包括pid和逗号分隔的名称列表
另请注意"结果被截断为group_concat_max_len系统变量给出的最大长度,该变量的默认值为1024.尽管返回值的有效最大长度可以设置为更高的值受max_allowed_packet"
的限制