MySQLで縦に表示を横に表示する場合ですが、下記のような例がありました。 この例だとCASEの数が4なのでいいですが、もっとある場合、WhileとかForeachのような構文はありますか?
MySQLで縦に表示を横に表示する場合ですが、下記のような例がありました。 この例だとCASEの数が4なのでいいですが、もっとある場合、WhileとかForeachのような構文はありますか? SELECT SALES_YEAR, SUM(CASE QUARTER_NO WHEN 1 THEN SALES_AMOUNT ELSE 0 END) AS SELES_AMOUNT_1, SUM(CASE QUARTER_NO WHEN 2 THEN SALES_AMOUNT ELSE 0 END) AS SELES_AMOUNT_2, SUM(CASE QUARTER_NO WHEN 3 THEN SALES_AMOUNT ELSE 0 END) AS SELES_AMOUNT_3, SUM(CASE QUARTER_NO WHEN 4 THEN SALES_AMOUNT ELSE 0 END) AS SELES_AMOUNT_4, SUM(SALES_AMOUNT) AS SELES_AMOUNT_TOTAL FROM QUARTERLY_SALES foreach($array = $ct){ SUM(CASE QUARTER_NO WHEN ($ct) THEN SALES_AMOUNT ELSE 0 END) AS SELES_AMOUNT_1} こんな感じです。
MySQL・21閲覧
ベストアンサー
MySQL側の機能だけでなら、ストアドプロシージャで文字列を組み立ててSELECT文を作り、PREPARE文とEXECUTE文で実行するしかありません。 PREPARE文とEXECUTE文 https://dev.mysql.com/doc/refman/8.0/ja/sql-prepared-statements.html ストアドプロシージャの定義 https://dev.mysql.com/doc/refman/8.0/ja/create-procedure.html ストアドプロシージャのボディ https://dev.mysql.com/doc/refman/8.0/ja/sql-compound-statements.html
質問者からのお礼コメント
くわしい情報ありがとうございます。
お礼日時:5/24 14:14