0

次のクエリを使用して予定データを抽出しています。

SELECT app.subject, AL.locationName
FROM FilteredAppointment app
INNER JOIN appointmentlocation AL ON app.activityid = AL.appointment
WHERE app.scheduledstart='2013-07-06 15:00:00.000'

出力は次のようになり、2 つの行が表示されます (2 つの異なる場所を持つ同じ予定)。

ここに画像の説明を入力

このクエリを変更して、以下のようにカンマで連結された 2 つの場所を持つ 1 つの行のみを表示するにはどうすればよいですか。

Column1:(MZN; OTV)*...
Column2:ルーム 1、ルーム 2

ありがとう

4

4 に答える 4

2

この例はあなたを助けるでしょう..または私があなたのためにクエリを作成するまで待ちます

  USE app.subject,
    SELECT      AL.locationName AS [Loc],
                STUFF((    SELECT ',' + SUB.Name AS [text()]
                            – Add a comma (,) before each value
                            FROM appointmentlocation AL
                            WHERE
                            app.activityid = AL.appointment

                            FOR XML PATH('') – Select it as XML
                            ), 1, 1, '' )
                            – This is done to remove the first character (,)
                            – from the result
                AS [Sub Categories]
    FROM  FilteredAppointment app
于 2013-08-01T10:10:02.237 に答える
0
SELECT app.subject, GROUP_CONCAT(AL.locationName, ', ') AS LocationName
FROM FilteredAppointment app
INNER JOIN appointmentlocation AL ON app.activityid = AL.appointment
WHERE app.scheduledstart='2013-07-06 15:00:00.000'
GROUP BY app.subject

未テスト

于 2013-08-01T10:08:33.073 に答える
0

今はテストできませんが、これでうまくいくと思います

select subject, 
       group_concat(name separator ',') Newcolumn
  from table
 group by subject
于 2013-08-01T10:09:08.137 に答える