行转列问题,写不清楚,求助

钛元素 钛元素 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
原始sql如下:


SELECT C.ADMIN_UNIT_CODE,C.ADMIN_UNIT_NAME AS [部门],CONVERT(VARCHAR(10),A.BOOKKEEPING_DATE,120) AS [记账日期],
CONVERT(decimal(18,4),SUM(B.FUNCTION_CURRENCY_AMT)) AS [本币金额]
FROM dbo.VOUCHER A JOIN dbo.VOUCHER_D B ON B.VOUCHER_ID = A.VOUCHER_ID
JOIN dbo.ADMIN_UNIT C ON C.ADMIN_UNIT_ID = B.ADMIN_UNIT_ID
WHERE A.BOOKKEEPING_DATE BETWEEN '2018-12-01' AND '2018-12-31'
GROUP BY C.ADMIN_UNIT_NAME, A.BOOKKEEPING_DATE, C.ADMIN_UNIT_CODE
ORDER BY C.ADMIN_UNIT_CODE


我写成如下内容:



DECLARE @JZRQ VARCHAR(4000),
@SQL1 VARCHAR(4000)

SELECT @JZRQ = ISNULL(@JZRQ+',','')+ QUOTENAME(CONVERT(VARCHAR(10),A.BOOKKEEPING_DATE,120)) FROM dbo.VOUCHER A GROUP BY A.BOOKKEEPING_DATE
SET @SQL1 = 'SELECT *
FROM dbo.VOUCHER A JOIN dbo.VOUCHER_D B ON B.VOUCHER_ID = A.VOUCHER_ID
JOIN dbo.ADMIN_UNIT C ON C.ADMIN_UNIT_ID = B.ADMIN_UNIT_ID
PIVOT(SUM(SUM(B.FUNCTION_CURRENCY_AMT)) FOR CONVERT(VARCHAR(10),A.BOOKKEEPING_DATE,120) IN( '+ @JZRQ + '))X'
EXEC(@SQL1)


提示语法错误?
...全文
评论 13
收藏 已收藏
分享
返回顶部
钛元素
MS-SQL Server 34,876 成员 254,635 内容