質問: 現在、施設の入館者数一覧を表示するSELECT文を考えています。 テーブルは以下の通りとします。 | DateTime | OrganNum | OrganName | | --- | --- | --- | | 入館時刻 | 身分コード | 身分名称 | 1回の入館で1つデータが落ちます。 これを年月、身分ごとでSELECTしたいと思います。 ``` SELECT DATEPART(YEAR, DateTime) AS '年', DATEPART(MONTH, DateTime) AS '月', OrganName, OrganNum, COUNT(*) AS '計' FROM allLog GROUP BY DATEPART(YEAR, DateTime), DATEPART(MONTH, DateTime), OrganName, OrganNum ORDER BY '年' ASC, '月' ASC, OrganNum ``` このSQLで一応実現したいことは可能なのですが、結果が | 年 | 月 | OrganName | OrganNum | 計 | | --- | --- | --- | --- | --- | | 2019 | 2 | 教員 | 11 | 17 | | 2019 | 2 | 学生 | 31 | 23 | | 2019 | 2 | 一般 | 51 | 25 | といった具合に表示されてしまいます。 これを | 年 | 月 | OrganName | OrganNum | 計 | OrganName | OrganNum | 計 | OrganName | OrganNum | 計 | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 2019 | 2 | 教員 | 11 | 17 | 学生 | 31 | 23 | 一般 | 51 | 25 | のように年月で1行として表示させるにはどうしたら良いのでしょうか? 拙い質問ですみません。。よろしくお願いします。
回答: FOR XML PATH を参考に。