0

2 つのテーブルがあるとします。学生とクラス。各学生は多くのクラスを持つことができます。すべての生徒を次のスタイルで出力するクエリを作成したいと思います: 列 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 に答える