0

次のようなデータを表示する以下のクエリがあります。

Income Type This Month  Last Month  This Year   Last Year
1           179640.00   179640.00   179640.00   179640.00
2           12424440.00 12424440.00 12424440.00 12424440.00


Select
  Income_Type As [Income Type],
  Sum(Income_Amount) As [This Month],
  Sum(Income_Amount) As [Last Month],
  Sum(Income_Amount) As [This Year],
  Sum(Income_Amount) As [Last Year]
From Income I
Left Join Finance_Types FT On I.Income_Type = FT.Type_ID
Group By
Income_Type

Income テーブルには、datetime 列である Income_Date があります。

「今月」、「先月」、「今年」、「昨年」のデータを、可能であれば 1 つのクエリで正しい合計で引き出す方法を理解するのに苦労していますか?

4

1 に答える 1

2

日付関数を使用します。

SUM(CASE WHEN YEAR(yourdatefield) = YEAR(GetDate()) - 1 THEN Income_Amount ELSE 0 END) AS 'Last Year'

このケース ステートメントは、昨年の場合に限り、Income_Amount を返すため、それらの金額のみを合計することになります。

SQL Server を使用していない場合、構文は少し異なる可能性があります。

于 2012-11-15T21:31:37.557 に答える