繁体   English   中英

SQL 服务器中的 PIVOT 不支持 Select 语句

[英]PIVOT in SQL Server does not support Select statement

我收到这些错误:

消息 156,第 15 级,State 1,第 22 行
关键字“select”附近的语法不正确。

消息 102,第 15 级,State 1,第 22 行
')' 附近的语法不正确

运行此代码时:

Select * 
from 
    (select 
         DWF_Week_No
         ,DWF_Fuel_Name
         ,DWF_T_Sale 
     from 
         QF_FDashboard_Week_Fuel 
     where 
         DWF_Month_Name = 'October' 
         and DWF_Location_Name = 'Fitzroy') t
pivot
    (sum(DWF_T_Sale)
        for DWF_Fuel_Name in (select distinct DWF_Fuel_Name from QF_FDashboard_Week_Fuel)
    ) as pivot_table;

不能将 SELECT 放在 PIVOT 的 IN 内。 您可以在此处找到解决方法。 在你的情况下,它会是这样的:

DECLARE @col nvarchar(max) = (stuff( ( select distinct  ',[' + Ltrim(rtrim(DWF_Fuel_Name)) +']' from QF_FDashboard_Week_Fuel FOR XML PATH('')),1,1,''))
    EXEC('Select * 
    from 
        (select 
             DWF_Week_No
             ,DWF_Fuel_Name
             ,DWF_T_Sale 
         from 
             QF_FDashboard_Week_Fuel 
         where 
             DWF_Month_Name = ''October'' 
             and DWF_Location_Name = ''Fitzroy'') t
    pivot
        (sum(DWF_T_Sale)
            for DWF_Fuel_Name in ('+@col+')
        ) as pivot_table;
    ')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM