【问题标题】:Nested SELECT as part of field listing嵌套 SELECT 作为字段列表的一部分
【发布时间】:2015-10-20 21:01:34
【问题描述】:

我有一个视图列出了特定阻尼器打开的时间(在制造环境中)。我仅限于查询此视图。基本上,数据是这样的:

dateTime      value
9/1/15 0:01      1
9/1/15 0:10      0
9/1/15 1:10      1
9/1/15 2:00     NULL
9/1/15 3:01      0

我需要查找阻尼器每次打开的时间 (1) 并确定它何时关闭 (0)。我们假设的空值是开放的(与 1 相同)。

找到 value = 1 的每个条目以及 1 之后的下一个 0 的最佳方法是什么?

它是一个 Historian DB,但它基本上在几乎所有方面都模仿 SQL。

【问题讨论】:

    标签: sql-server-2008 historian


    【解决方案1】:

    这是最终工作的代码 - 供后代使用。 :)

    SELECT DateTime, Value, 
    (SELECT TOP (1) hClose.dateTime FROM history hClose WHERE
    hClose.dateTime > history.DateTime 
    AND hClose.TagName = 'TAGNAMEHERE' 
    AND hClose.Value < 10 
    AND wwRetrievalMode = 'average'
    AND wwResolution = 600000
    ORDER BY dateTime) as closeTime
    FROM history 
    WHERE dateTime BETWEEN '9/1/15 00:00' AND '10/1/15 0:00'
    AND tagName = 'TAGNAMEHERE'
    AND (VALUE > 10 OR VALUE IS NULL)
    AND wwRetrievalMode = 'average'
    AND wwResolution = 60000
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多