ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3933287 期間範囲の集計
質問者:sadoru 現在、下記のデータがあります。

A B C
1 2008/10/01 2008/10/31

質問ですが、カラムBの2008/10/01から、カラムCの2008/10/31まで同データAを集計する、SQLでの記述方法はありますでしょうか?

出力は、31となります。 

ASP側からの集計は、解決できるのですが、
SQLからの集計はどのようにするのか疑問に思いましたので質問させていただきました。
困り度:
  • 暇なときにでも
質問投稿日時:
08/04/08 21:45
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.2 これでどうですか?

SELECT
 列A * ( DATEDIFF( Day, 列B, 列C ) + 1 )
FROM
 テーブル名

質問文を勘違いしていたらすみません。
回答者:order4649
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/04/09 10:26
この回答へのお礼お返事ありがとう御座います。 また遅れて申し訳御座いません。
私のコアとなる質問からは、はずれておりません。
解決致しました。
いろいろ応用したものを試行錯誤していたので、お返事が遅れてしまいました。
結果としまして解決することができました。 ありがとうございました。

回答良回答10pt

ANo.1 質問内容が曖昧すぎます。

列Aの値を集計するのですか?

>出力は、31となります。 

どういう意味ですか?
例で示された行数は1件で、列Aの値は1ですよ?
列Bを開始日、列Cを終了日とした日数を求めたいのでしょうか?
回答者:chukenkenkou
種類:補足要求
どんな人:一般人
自信:参考意見
回答日時:
08/04/08 22:14
この回答へのお礼お返事ありがとう御座います。

列Bを開始日、列Cを終了日とした集計を求めたいと思います。

例えば、
列A= 1  
列B= 2008/10/01
列C= 2008/10/31
となっている場合は、1 を 31回足します。 よって出力は、31となります。
また、列Cが2008/10/03 の場合は、1を3回足すことになります。 

以上、お手数をお掛けいたしました。 
よろしくお願い致します。