假设我有两张桌子;学生和班级。每个学生都可以上很多课。 我想创建一个查询,打印出以下样式的每个学生: 第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
答案 0 :(得分: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