如何在一行中插入多列列值的SQL查询?

时间:2015-10-07 10:16:24

标签: sql sql-server

我有两栏

Std_id     F_grade Course
1001       A1
1001       A2
1002       A1
1002       A2

现在我想把它放在下面的一栏中

Std_id      F_grade Course
1001        A1,A2
1002        A1,A2

我用不同的方式尝试了但是无法做出正确的结果。所以如果有人可以对这个问题进行sql查询?

1 个答案:

答案 0 :(得分:2)

试试这个

SELECT  Std_id
       ,STUFF((SELECT ', ' + CAST(F_grade_Course AS VARCHAR(10)) [text()]
         FROM @Table1 
         WHERE ID = t.Std_id
         FOR XML PATH(''), TYPE)
        .value('.','NVARCHAR(MAX)'),1,2,' ') F_grade_Course
FROM @Table1 t
GROUP BY Std_id