,我需要选择过去12个月内,包含以下字段的表需求滚动:选择从年/月,而不是日期字段滚动日期范围,
Item,
Year,
Month,
Demand Qty
我曾尝试以下:
Select Item, [Year], [Month],[Demand QTY]
FROM [table1]
Where
(
[Year] >= Year(getdate())-'1'
and [Month] >= Month(getdate())
)
and
(
[Year] < year(getdate())+'1'
and [Month] <= month(getdate())
)
但我只获取去年和当年的今年的记录。
Item Year Month Demand Qty
CD051 2011 3 8800
CD051 2012 3 0
我还是个菜鸟,所以我可能会犯明显的错误。有人可以帮我吗?
我们需要看到更多数据的(你认为一些记录应选择,但不是)。另外,为什么要在Year()中添加和减去一个字符串? – 2012-03-16 10:12:16
如果可能,更改表格的结构并将年/月存储为'date'或'datetime'值,然后仅在您的查询或静态[计算列]中导出'Year'和'Month'(http:// msdn .microsoft.com/en-us/library/ms191250.aspx“计算列(SQL Server)”)。这样,您可以更容易地根据给定的日期过滤行,并且查询可能会更易于优化。 – 2012-03-16 12:23:14