質問: ### 前提・実現したいこと ``` 元のデータ sale TBL |施設cd|商品|売上日| 100, みかん, 201801 100, りんご, 201801 200, りんご, 201802 300, いちご, 201801 300, みかん, 201802 を |施設cd| みかん | りんご | いちご | 100, 201801, 201801, null 200, null, 201802, null 300, 201802, null, 201801 このように施設別に一行で表示したい。 ``` ### 発生している問題・エラーメッセージ group byすることができない。 ### 試したこと ``` select 施設cd, (case when 商品=みかん then 売上日 else null)as みかん, (case when 商品=りんご then 売上日 else null)as りんご, (case when 商品=いちご then 売上日 else null)as いちご .,, from sale group by 施設cd ``` ### 補足情報(FW/ツールのバージョンなど) |施設cd|みかん|みかん(売上日)|りんご|りんご(売上日)|いちご|いちご(売上日)| という形でも大丈夫です。 ずっと詰んでしまっているので、どうぞよろしくお願い致します。
回答: 商品を横に並べる前は、 ``` select 施設cd, 商品, 売上日 from sale group by 施設cd, 商品, 売上日 ``` ここから、商品を外し、施設別に一行で表示したいので、 ``` select 施設cd, max(case when 商品=みかん then 売上日 end) as みかん, max(case when 商品=りんご then 売上日 end) as りんご, max(case when 商品=いちご then 売上日 end) as いちご from sale group by 施設cd ```