1
Sales DESCによってソートされた5つの列を持つテーブルを返すテーブル値関数があります。WHERE句のT-SQL CASE
Item.Count..Year...Month....Sales............ID
808.........2010.....7......212282.88........1
699.........2011.....7......179029.45........2
829.........2007.....7......135034.52........3
959.........2005.....7......129611.80........4
861.........2006.....7......104667.57........5
私がしようとしているのは、2番目に大きな販売価値を得ることです。私ができること。ただし、ビジネスロジックでは、2番目に大きな売上値の年が今年(2011年)と同じ場合、次の売上値(135034.52)を取得すると記載されています。ここで
は、私が持っているものです。
DECLARE @Sales DECIMAL(14, 2) = 179029.45
SELECT *
FROM dbo.fnGetDate(181, '08-01-2011')
WHERE ID =
CASE WHEN Sales = @Sales AND Year = YEAR(DATEADD(M, -1, '08-01-2011'))
THEN 3 ELSE 2 END
残念ながら、これはそれが必要ように動作しません。 @Salesの値を変更すると動作します(例:179029.44)。
誰でも手助けできますか?
トリックを行いました!ありがとうございました。 – coson