特定のテーブルの情報を更新するSQLクエリを実行しようとしています。私が遭遇している問題は、クエリが実行された日付が何であれ、今日の日付をプルするクエリが必要であり、その後、年に戻ってレコードをプルするだけであるということです。次に、AVG
その2年間のCUR_CASH_UNITSを返します。DATEDIFFとDATEADDを試しましたが、* liblエラーが返されるため、これらは使用しているシステムでは機能しないようです。これが私が持っているものです:
Select Month,
SSSALESNAM,
CAT,
Sum(Units) as Units
From DW****.******EG
Inner Join (Select CAT,
STORE,
MONTH(DATE) As Month,
Sum(CUR_CASH_UNITS) As Units
From DW*******.****AT
Inner Join (Select CAT,
CATNUM
From DW****.*****ST) As Category_List
On DW*******.****AT.CATEGORY_NUMBER=Category_List.CATNUM
--Where (((CUR_CASH_UNITS.MONTH(DATE)) Between MONTH(DATE) And (MONTH(DATE)-24MONTH))
Group by Cat,
Store,
MONTH(DATE)) As Cash_Units
On DW****.******EG.SSSTR=Cash_Units.STORE
Group By Month,
SSSALESNAM,
CAT
Order By Month,
SSSALESNAM
コメントアウトされている上記のセクションは、日付演算を機能させるための私の試みの1つにすぎません。Where
ステートメントをコメントアウトすると、クエリは正しく実行されます。私のテーブルの日付列には、YYYY-MM-DDの形式のDATEというラベルが付いています。SQLは初めてなので、見落としている単純なものである場合は、事前にお詫び申し上げます。