Ms Ms中的Pivot语法问题

时间:2015-03-31 10:25:31

标签: sql sql-server

管理工作室报告:关键字'附近的语法不正确,用于'。 PlType以两种类型的名称开头,即:2或4。 例如:20H,20D,20M,40H,40D,40M,40X等是不同类型的PlType

Select * 
Into #PivotTbl from
(Select Country, PlType , LEFT(PLTYPE,1) as PType
From #ToPivot ) As ToPvt
Pivot
(PlType for PType in (2,4)) As Piv1

我不明白'附近的错误是什么?当我更换

(PlType for PType in (2,4)) As Piv1

(max(PlType) for PType in (2,4)) As Piv1

我收到错误:' 2'附近的语法不正确。 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:2)

2和4成为枢轴中的列,您需要将它们包围在方括号中,如下所示:

Select * 
Into #PivotTbl from
(Select Country, PlType , LEFT(PLTYPE,1) as PType
From #ToPivot ) As ToPvt
Pivot
(max(PlType) for PType in ([2],[4])) As Piv1

即使您不使用max,也会收到此错误。原因是您必须使用聚合函数以及pivot