0

我收到以下错误

消息 156,级别 15,状态 1,第 10 行 关键字“SELECT”附近的语法不正确。消息 102,级别 15,状态 1,第 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 中指定一个选择查询?

4

1 回答 1

1

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

于 2012-10-12T17:18:59.333 回答