首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用WonderWare中的子查询选择所有标记

使用WonderWare中的子查询选择所有标记
EN

Stack Overflow用户
提问于 2016-09-27 10:16:53
回答 2查看 3.5K关注 0票数 1

我试图从WonderWare历史学家数据库中获取数据库中所有标记的数据。已经有一个包含所有标记的表,所以我想使用一个子查询来选择所有的标记名。我得到一个错误w.r.t这个子查询。

我的sql语句:

代码语言:javascript
运行
复制
/******

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'

我收到的错误如下:

代码语言:javascript
运行
复制
OLE DB provider "INSQL" for linked server "INSQL" returned message "History queries must contain at least one valid tagname".

我猜这意味着它没有被正确地执行。

我也尝试过使用openquery,但随后我得到了与子查询相关的其他错误,无法识别有关标记表的“模式”信息:

代码语言:javascript
运行
复制
OLE DB provider "INSQL" for linked server "INSQL" returned message "Failed to retrieve schema information for object 'Tag'".

以下是修改后的节选:

代码语言:javascript
运行
复制
TagName IN ( SELECT * FROM OPENQUERY(INSQL, 
    'SELECT DISTINCT TagName
    FROM
        Runtime.dbo.Tag')
)
EN

Stack Overflow用户

发布于 2017-02-18 20:17:30

尝试:

代码语言:javascript
运行
复制
SELECT DISTINCT aa.TagName FROM (
 SELECT DateTime, TagName, Value
 FROM History
 WHERE DateTime >= '2016-01-01 00:00'
 AND DateTime <= '2016-01-01 00:30'
 AND wwResolution = 5000
 AND wwRetrievalMode = 'Average'
 AND wwTimeStampRule = 'Start'
) aa
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39722059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档