私の SQL Server には、大量のデータを含むテーブルがあります。年 (smallint) と月 (tinyint) の 2 つの列があります。
過去 X か月のデータを分離するための最善かつ最も実行された方法は何ですか?
変数を宣言しました
- @YearFrom
- @YearTo
- @MonthFrom
- @MonthTo
正しい値で。ここで、WHERE ステートメントが期待どおりに機能しないことに気付きました。
WHERE (year >= @yearfrom AND month >= @monthfrom)
AND (year <= @yearto AND month <= @monthto)
過去 12 か月のデータを選択すると、私の変数は
- @YearFrom = 2012
- @YearTo = 2013
- @MonthFrom = 9
- @MonthTo = 9
そしてSELECTは2012/2013年9月からのデータを私に与えるだけです
WHERE (year >= 2012 AND month >= 9)
AND (year <= 2013 AND month <= 9)
したがって、実際には、問題を解決するための 2 つの可能性があります。
- 最初に先月の変数 X を使用 @lastMonth = 12
- または、私が宣言した 4 つのヘルパー変数 (yearfrom、yearto、monthfrom、monthto) を使用します。
この問題を解決する方法はありますか?!?!?
いつも返信ありがとうございます...