- 締切済み
集計関数の合計について
お世話になります。 SQLSever2005を使用しています。 Count(*)で月毎のデータ件数を集計し、またその結果を出力するSQLを考えております。 SELECT (SELECT Count(*) FROM TBL_TEST T1 WHERE T1.T_DATE>='2005/01/01' AND T1.T_DATE=<'2005/01/31') AS CNT_1, (SELECT Count(*) FROM TBL_TEST T2 WHERE T2.T_DATE>='2005/02/01' AND T2.T_DATE=<'2005/02/31') AS CNT_2, (SELECT Count(*) FROM TBL_TEST T3 WHERE T3.T_DATE>='2005/03/01' AND T3.T_DATE=<'2005/03/31') AS CNT_3, (CNT_1+CNT_2+CNT_3) AS TOTAL_CNT ・・・・・・・・・・・・ (★) FROM TBL_TEST T WHERE ・・・・・・・・・ 結果(★)のところで『CNT_1は無効です』というエラーになってしまいます。 ちなみにAccessではエラーにならずに結果を出力していました。 上記のSQL文はどのように修正すればよろしいでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- t-ka
- ベストアンサー率28% (14/50)
回答No.1
『CNT_1は無効です』というエラーですが。有効な列として認識されて無いようです。この場合ストアドプロシージャを利用しCN_1,2,3を変数に代入してから計算する方法もあります。
お礼
ご回答ありがとうございます。 今回はストアドは使用しない仕様になっていますので、★の部分で 対象期間すべての範囲で件数をカウントする方法に変更することにしました。