- - PR -
SQL Server2005で、期間指定での集計について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-05-22 20:25
初めて投稿します。
[商品テーブル] ID | 商品名 | 値段 | 仕入れ日 1 | みかん | 50 | 2008/05/10 2 | りんご | 20 | 2008/05/10 1 | みかん | 80 | 2008/05/15 2 | りんご | 30 | 2008/05/15 1 | みかん | 40 | 2008/05/18 2 | りんご | 10 | 2008/05/18 1 | みかん | 90 | 2008/05/19 2 | りんご | 70 | 2008/05/19 上記のようなテーブルがあるとします。 仕入れ日を、2008/5/15〜2008/5/19で指定し、 商品名毎の合計値段を、ID順に取得したいと思っています。 SELECT ID, 商品名, SUM(値段) AS 値段 FROM 商品テーブル GROUP BY 商品名, ID ORDER BY ID で、期間全体の合計値は取得出来るのですが、BETWEENを使って試行錯誤していますがうまくいきません。 どなたかご教授宜しくお願いします。 | ||||
|
投稿日時: 2008-05-23 01:05
SQLServer 2005が手元になかったので、2000でよければどうぞ。
SELECT a.ID, a.商品名, SUM(a.値段) AS 値段 FROM (select * from 商品 where 仕入れ日 between '2008-05-15' and '2008-05-19') a GROUP BY a.商品名, a.ID ORDER BY a.ID ; ID 商品名 値段 -------------------------- 1 みかん 210 2 りんご 110 | ||||
|
投稿日時: 2008-05-23 12:27
matharさん
こんにちは。 SELECT ID, 商品名, SUM(値段) AS 値段 FROM 商品テーブル WHERE 仕入れ日 BETWEEN '2008/5/15' AND '2008/5/19' GROUP BY 商品名, ID ORDER BY ID がうまく行かなかったということでしょうか? | ||||
|
投稿日時: 2008-05-23 14:32
dodo さん
よっしー さん ご返答ありがとうございます。 いろんな方法でやっていたのですが、 パラメータにしていたBETWEENの日付部分に問題があり出来なかった様です。 よっしーさん・dodoさんの両方のやり方で出来ました。 ありがとうございました。 | ||||
|
投稿日時: 2008-05-23 15:32
勘ですが、 WHERE 仕入れ日 BETWEEN 2008/5/15 AND 2008/5/19 となっていたとか。 | ||||
|
投稿日時: 2008-05-23 19:30
パラメータにしていた日付部分のデータ型が、コード記述の途中で文字列型になっていたためでした。 かなり初歩的なミスでしたw |
1