我有一个 SQL 语句(SQL Server Management Studio),我通过仪表板软件将数据传递到 where 语句中。用户可以选择年份(2013 年或现在 2014 年)以及月份(作为数值传递 - 所以 12 月 = 12)。我需要将声明调整为我从他们选择的年/月中获得最后 3 个月的位置。之前,b/c 的 SQL 语句只处理 2013 年的数据,就是这样:
YEAR(Main.ActivityDate) = '@Request.parmYear~'
AND (Month(Main.ActivityDate) Between ('@Request.parmMonth~'-2) and '@Request.parmMonth~')
通常情况下,parmYear = 2013,然后无论他们选择什么月份,它将在当前月份之前 2 个月获取。
现在,b/c 现在是 2014 年 1 月,我需要抓住 2014 年 1 月 + 2013 年 12 月 + 2013 年 11 月。我想知道如何调整语句以使这种情况动态发生。
想法?