问题
How can I use the GROUP_CONCAT function on MSSQL while MySQL is running?
current table;
QUESTION_ID ANSWER_ID USER
1. 1 1 A
2. 1 1 B
3. 1 2 C
i need;
QUESTION_ID ANSWER_ID USER
1. 1 1 A, B
2. 1 2 C
thanks in advance..
回答1:
Try:
select distinct t1.QUESTION_ID, t1.ANSWER_ID
STUFF((SELECT distinct '' + t2.USER
from yourtable t2
where t1.ANSWER_ID= t2.ANSWER_ID
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,0,'') data
from yourtable t1;
回答2:
I think the equivalent function could be STRING_AGG. (SQL Server 2017 and later)
select QUESTION_ID, ANSWER_ID, STRING_AGG(USER, ', ') as USER
from t1
group by QUESTION_ID, ANSWER_ID
https://docs.microsoft.com/es-es/sql/t-sql/functions/string-agg-transact-sql?view=sql-server-2017
来源:https://stackoverflow.com/questions/46661496/how-to-use-group-concat-function-on-mssql