我试图从数据库中的所有标签上的WonderWare历史数据库中获取数据。已经有一个包含所有标签的表格,所以我想用一个子查询来选择所有的标签名称。这个子查询出现错误w.r.t。在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')
)