こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

集計関数の合計について

お世話になります。
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文はどのように修正すればよろしいでしょうか?

投稿日時 - 2006-10-16 11:58:06

QNo.2475903

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

『CNT_1は無効です』というエラーですが。有効な列として認識されて無いようです。この場合ストアドプロシージャを利用しCN_1,2,3を変数に代入してから計算する方法もあります。

投稿日時 - 2006-10-17 04:58:38

お礼

ご回答ありがとうございます。
今回はストアドは使用しない仕様になっていますので、★の部分で
対象期間すべての範囲で件数をカウントする方法に変更することにしました。

投稿日時 - 2006-10-17 10:12:51

あなたにオススメの質問