データベース内のすべてのタグについて、WonderWare ヒストリアン データベースからデータを取得しようとしています。すべてのタグを含むテーブルが既にあるので、サブクエリを使用してすべてのタグ名を選択したいと考えています。このサブクエリでエラーが発生します。
私のSQL文:
/******
I want to be able to select:
- all columns
- for all tags <-- I'm getting an error here, trying to use a subquery
- between two time stamps
- at a specified resolution
******/
SELECT *
FROM
Runtime.[dbo].AnalogHistory
WHERE
TagName IN (
SELECT DISTINCT TagName
FROM
Runtime.dbo.Tag
)
AND
DateTime >= '2016-01-01 00:00'
AND
DateTime < '2016-01-01 00:30'
AND
wwResolution = 5000
AND
wwRetrievalMode = 'Average'
AND
wwTimeStampRule = 'Start'
私が受け取っているエラーは次のとおりです。
OLE DB provider "INSQL" for linked server "INSQL" returned message "History queries must contain at least one valid tagname".
これは、適切に実行されていないことを意味すると思います。
また、openquery を使用してみましたが、タグ テーブルに関する「スキーマ」情報を識別できないサブクエリに関連する他のエラーが発生します。
OLE DB provider "INSQL" for linked server "INSQL" returned message "Failed to retrieve schema information for object 'Tag'".
これは変更された抜粋です:
TagName IN ( SELECT * FROM OPENQUERY(INSQL,
'SELECT DISTINCT TagName
FROM
Runtime.dbo.Tag')
)