SQL Server 2005 PIVOT语法错误

时间:2012-10-12 17:16:11

标签: sql-server tsql sql-server-2005

我收到以下错误

第15行,第15行,第1行,第10行 关键字'SELECT'附近的语法不正确。 Msg 102,Level 15,State 1,Line 10 ')'附近的语法不正确。

当我运行以下查询时

 SELECT TOP 100 *
FROM
(
SELECT [TimeStamp],[MeterID],[Value]
FROM access_AMIData) AS source
PIVOT
(
SUM(Value)
FOR MeterID IN (SELECT MeterNumber FROM access_tblFcppPvMeterList)
) as pvt
ORDER BY TimeStamp

此行出现错误:

FOR MeterID IN (SELECT MeterNumber FROM access_tblFcppPvMeterList)

如果我将此行更改为:

FOR MeterID IN (1,2,3,4)

它完美运行......如何在IN中指定选择查询?

1 个答案:

答案 0 :(得分:1)

您不能,至少不能在SQL 2005中。您可以将它包含在内部查询的WHERE子句中,但是您必须对列名进行硬编码,除非您使用动态SQL。