0

假设我有两张桌子;学生和班级。每个学生可以有很多课。我想创建一个查询,该查询将以以下样式打印出每个学生:第 1 列学生姓名和第 2 列他们在前“数学、历史、地质学”中的课程字符串 我知道如何查询每个学生或查询所有课程,但似乎无法让他们一起工作。用于创建字符串的 SQL:

DECLARE @classes VARCHAR(1000)
SELECT @classes = COALESCE(@classes + ', ', '') + clss.name
FROM
(
SELECT name
FROM classes
where student.id = 1
)clss
SELECT @classes
4

1 回答 1

3
SELECT name
    , STUFF ((
        SELECT ', ' + c.name
        FROM classes c
        WHERE c.student_id = s.student_id
        FOR XML PATH('')
    ), 1, 1, '') AS classes
FROM students s
于 2013-08-29T14:31:12.407 回答