Sql server 如何在MSSQL上使用GROUP_CONCAT函数

Sql server 如何在MSSQL上使用GROUP_CONCAT函数,sql-server,Sql Server,MySQL运行时,如何在MSSQL上使用GROUP_CONCAT函数 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

MySQL运行时,如何在MSSQL上使用GROUP_CONCAT函数

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 当前表格; 问题\u ID答案\u ID用户 1.11A 2.11b 3.1 2 C 我需要; 问题\u ID答案\u ID用户 1.1 A,B 2.1 2 C 提前感谢..

试试:

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;

SQL Server 2017及更高版本的等效函数可以是STRING_AGG。 请注意,此函数不支持不同的筛选

select QUESTION_ID, ANSWER_ID, STRING_AGG(USER, ', ') as USER
from t1
group by QUESTION_ID, ANSWER_ID

可能重复的视图可能重复的视图,我认为这是相同的