- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:集計結果を横一列に並べたい)
SQLでテーブルのデータを集計し、横一列に表示する方法
このQ&Aのポイント
- SQLを使用して、テーブルのデータを指定のフィールドで集計し、結果を横一列に表示する方法について質問があります。
- 以下のようなテーブルのデータをKBNフィールドの値別に集計し、その結果を横一列に表示したいです。
- 期待する結果は、指定したフィールド名と集計結果の数値が横一列に表示される形です。このような結果を得るために、どのようなSQL文を使用すればよいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SQLは基本的にあらかじめ決まった列数しか返せません。 KBNの種類が001,002,003,004の4種類と判明している限りにおいては以下の通り可能ですが、汎用的なものはOracleではできません。 SELECT SUM(CASE WHEN KBN='001' THEN 1 ELSE 0 END) "001", SUM(CASE WHEN KBN='002' THEN 1 ELSE 0 END) "002", SUM(CASE WHEN KBN='003' THEN 1 ELSE 0 END) "003", SUM(CASE WHEN KBN='004' THEN 1 ELSE 0 END) "004" FROM TABLE
お礼
ご回答ありがとうございます。 環境がOracle8だったので、CASEは使えませんでしたが、代わりに DECODEを使う事で対処できました。 ありがとうございました。