CASE文について
<環境>
SQLSERVER2005
ACCESS2007
CASE文について質問です。
クエリで下記のSQL文を実行すると、「Case 式は、10 レベルまでしか入れ子にできません。」
とエラーになります。
このような場合、どのように記述すれば解決できるでしょうか?
ご教授お願いします。
SELECT
CASE WHEN (WA.MM = '01') THEN ROUND(SUM(WB.MONEY1), -3, 0)
ELSE CASE WHEN (WA.MM = '02') THEN ROUND(SUM(WB.MONEY2), -3, 0)
ELSE CASE WHEN (WA.MM = '03') THEN ROUND(SUM(WB.MONEY3), -3, 0)
ELSE CASE WHEN (WA.MM = '04') THEN ROUND(SUM(WB.MONEY4), -3, 0)
ELSE CASE WHEN (WA.MM = '05') THEN ROUND(SUM(WB.MONEY5), -3, 0)
ELSE CASE WHEN (WA.MM = '06') THEN ROUND(SUM(WB.MONEY6), -3, 0)
ELSE CASE WHEN (WA.MM = '07') THEN ROUND(SUM(WB.MONEY7), -3, 0)
ELSE CASE WHEN (WA.MM = '08') THEN ROUND(SUM(WB.MONEY8), -3, 0)
ELSE CASE WHEN (WA.MM = '09') THEN ROUND(SUM(WB.MONEY9), -3, 0)
ELSE CASE WHEN (WA.MM = '10') THEN ROUND(SUM(WB.MONEY10), -3, 0)
ELSE CASE WHEN (WA.MM = '11') THEN ROUND(SUM(WB.MONEY11), -3, 0)
ELSE CASE WHEN (WA.MM = '12') THEN ROUND(SUM(WB.MONEY12), -3, 0)
END
END AS MONEY
FROM
(WA INNER JOIN WB ON (WA.YYYY = WB.YYYY))
INNER JOIN WC ON (WA.YYYY = WC.YYYY)