Sql DATEPART函数如何按年度、季度、月份和日期查询供应商发票
您知道我的SQL Server SSRS查询缺少什么吗?我正在尝试按年度、季度、月份和日期提取供应商发票,仅从2019年1月到12月。我的输出应按以下信息分组,年/季度/月/自创建日期 运行查询后,出现以下错误: 味精102,第15级,状态1,第32行Sql DATEPART函数如何按年度、季度、月份和日期查询供应商发票,sql,reporting-services,Sql,Reporting Services,您知道我的SQL Server SSRS查询缺少什么吗?我正在尝试按年度、季度、月份和日期提取供应商发票,仅从2019年1月到12月。我的输出应按以下信息分组,年/季度/月/自创建日期 运行查询后,出现以下错误: 味精102,第15级,状态1,第32行 “年”附近的语法不正确 可能是什么问题 我的代码已在以下网站链接中进行了解释,为了便于参考,我将我的代码详细信息包括在内,以便更好地进行解释: 我尝试了以下代码: SELECT DISTINCT DATEPART("YEAR",
“年”附近的语法不正确 可能是什么问题 我的代码已在以下网站链接中进行了解释,为了便于参考,我将我的代码详细信息包括在内,以便更好地进行解释: 我尝试了以下代码:
SELECT DISTINCT
DATEPART("YEAR", ab.Created_Date) [year],
DATEPART("QUARTER", ab.Created_Date) [quarter],
DATEPART("MONTH", ab.Created_Date) [month],
ab.Invoice_Type_ID,
ab.Created_Date,
ab.Vendor_ID,
a.Vendor_Name,
a.Vendor_Type
FROM
dbo.vendors AS a
INNER JOIN
dbo.invoices AS ab ON a.Vendor_ID = ab.Vendor_ID
WHERE
ab.Created_Date IS NOT NULL
GROUP BY
DATEPART("YEAR", ab.Created_Date) [year],
DATEPART("QUARTER", ab.Created_Date) [quarter],
DATEPART("MONTH", ab.Created_Date) [month],
ab.Invoice_Type_ID,
ab.Created_Date,
ab.Vendor_ID,
a.Vendor_Name,
a.Vendor_Type
ORDER BY
[YEAR] DESC,
[QUARTER],
[MONTH]
您已经通过表达式将别名([year]、[quarter]、[month])包括在组中,例如,您需要删除别名(但不删除表达式)
GROUP BY DATEPART("YEAR", ab.Created_Date) [year],
...
会是
GROUP BY DATEPART("YEAR", ab.Created_Date),
...
在分组时,您几乎不需要执行“选择清晰”,因为分组可以消除重复项。难以置信的是,这非常有效,完全符合我的要求。非常感谢。