首页 > 解决方案 > 在关键字“pivot”附近出现语法错误,提示语法不正确。我在这里想念什么

问题描述

我的动态 SQL 生成了以下代码。

当我尝试运行它时,我收到一个语法错误,提示“关键字'pivot'附近的语法不正确。”

我在这里缺少什么?

    SELECT month (Sale.[Date]) as Month, 
    [5],
    [10],
    [15],
    [20],
    [25],
    [30],
    [35],
    [40],
    [45],
    [60] 
    INTO ##TBL_TEMP 
    from Limit L 
    right join Store S 
      on L.Limit_Mins = S.Limit_Mins 
    join Sale Sa 
      on S.Store_Number=Sa.Store_number 
    join [Date] Dt 
      on Dt.[Date]=Sa.[Date] 
    join Product P 
      on Sa.PID=P.PID 
    left outer join Discount D 
      on Sa.PID=D.PID and Sa.[Date]=D.Discount_Date 
    group by month (Sale.[Date]),
        case  when S.Limit_Mins = L.Limit_Mins and S.Childcare_Flag=1 then S.Limit_Mins end  
    pivot (
        sum(case when S.Limit_Mins = L.Limit_Mins and S.Childcare_Flag=1 then
               case when D.PID =Sa.PID and D.Discount_Date=Sa.[Date] then
                   D.Discount_Price
               else
                   P.Retail_price
               end
               * Sa.Quantity
            else
               0
            end ),   
        sum(case when S.Childcare_Flag = 0 then
                case when D.PID =Sa.PID and D.Discount_Date=Sa.[Date] then
                    D.Discount_Price
                else
                    P.Retail_price
                end
                * Sa.Quantity
            else
                0
            end)  
    for
        case when S.Limit_Mins = L.Limit_Mins and S.Childcare_Flag=1 then
           S.Limit_Mins end 
    in ([5],[10],[15],[20],[25],[30],[35],[40],[45],[60])
) as Q

标签: sqlsql-servertsqlpivot

解决方案


我想通了,感谢youtube上wiseowl教程的视频


推荐阅读