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

少なくともSQL2005ではできません。内部クエリのWHERE句に含めることはできますが、もちろん動的SQLを使用しない限り、列名をハードコーディングする必要があります。

于 2012-10-12T17:18:59.333 に答える