簡単なクエリがあります:-
SELECT *
FROM dbo.NGPCostPosition
それは以下のデータを返します:-
他のすべてのデータにアクセスしながら、当月だけの総コストを表示したいので、そのカテゴリに分類されるアイテムのみが入力される当月と呼ばれる新しい列でしょうか?
これを行う最善の方法は何ですか?
すべてのアドバイスを歓迎し、感謝します。
簡単なクエリがあります:-
SELECT *
FROM dbo.NGPCostPosition
それは以下のデータを返します:-
他のすべてのデータにアクセスしながら、当月だけの総コストを表示したいので、そのカテゴリに分類されるアイテムのみが入力される当月と呼ばれる新しい列でしょうか?
これを行う最善の方法は何ですか?
すべてのアドバイスを歓迎し、感謝します。
これにより、当月の総コストのみを示す列がクエリに追加されます。
SELECT
*,
CASE
WHEN
DATEPART(MOTNH, TranDate) = DATEPART(MONTH, GETDATE()) AND
DATEPART(YEAR, TranDate) = DATEPART(YEAR, GETDATE())
THEN TotalCost
ELSE 0
END CurrentMonthCost
FROM dbo.NGPCostPosition
次のように、クエリに列を追加できます。
Select *,
CASE WHEN
datepart(mm, getdate()) == datepart(mm, TranDate)
and datepart(yy, getdate()) == datepart(yy, tranDate)
then TotalCost
else 0
end as CurrentMonthTotalCost
そして、それをシートのどこかにまとめます。日付の書式設定を使用することもできます (これらは、比較対象に関して少し暗号化されているため、これらは好みません)。
Select *,
CASE
WHEN CONVERT(VARCHAR(7), GETDATE(), 111) == CONVERT(VARCHAR(7), TRANDATE, 111)
THEN TotalCost
ELSE 0
End as CurrentMonthTotalCost