以下にリストされているデータを含む2つのテーブルを取得しました。
表1:学生
表2:件名
次のような出力が必要です。
XMLPATHに使用する以下のクエリでこれを達成しました
コード:
WITH cte
AS ( SELECT Stu.Student_Id ,
Stu.Student_Name ,
( SELECT Sub.[Subject] + ','
FROM [Subject] AS Sub
WHERE Sub.Student_Id = Stu.Student_Id
ORDER BY Sub.[Subject]
FOR
XML PATH('')
) AS [Subjects]
FROM dbo.Student AS Stu
)
SELECT Student_id [Student Id] ,
student_name [Student Name] ,
SUBSTRING(Subjects, 1, ( LEN(Subjects) - 1 )) AS [Student Subjects]
FROM cte
私の質問は、XMLパスを使用せずにこれを行うためのより良い方法はありますか?