我正在尝试运行将更新特定表中的信息的 SQL 查询。我遇到的问题是我需要查询来提取今天的日期,无论查询运行的日期是什么,然后只提取可以追溯到几年的记录。AVG
然后我希望它在这两年的时间段内返回一个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
上面被注释掉的部分只是我试图让日期算术工作的尝试之一。随着Where
语句注释掉查询正确执行。我表中的日期列标记为 DATE,格式为 YYYY-MM-DD。对 SQL 来说有点新,所以如果我忽略了一些简单的事情,我提前道歉。