0

簡単なクエリがあります:-

SELECT *
FROM dbo.NGPCostPosition

それは以下のデータを返します:-

ここに画像の説明を入力

他のすべてのデータにアクセスしながら、当月だけの総コストを表示したいので、そのカテゴリに分類されるアイテムのみが入力される当月と呼ばれる新しい列でしょうか?

これを行う最善の方法は何ですか?

すべてのアドバイスを歓迎し、感謝します。

4

3 に答える 3

1

これにより、当月の総コストのみを示す列がクエリに追加されます。

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
于 2013-04-10T15:43:44.663 に答える
0

次のように、クエリに列を追加できます。

        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
于 2013-04-10T15:36:57.527 に答える