0

特定のダンパーが (製造環境で) 開いている時間を一覧表示するビューがあります。このビューのクエリに制限されています。基本的に、データは次のようになります。

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 と同じ)。

値が 1 で、その 1 の次の 0 であるすべてのエントリを見つける最良の方法は何ですか?

これはヒストリアン DB ですが、基本的にほぼすべての点で SQL を模倣しています。

4

1 に答える 1

0

これが動作するようになったコードです - 後世のために。:)

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
于 2015-11-05T22:06:04.990 に答える