从记录器表构建SQL查询
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从记录器表构建SQL查询相关的知识,希望对你有一定的参考价值。
我有一个记录表,其中包含以下字段:timestamp,point_id,value。外部应用程序正在使用此表,每次point_id的值发生更改时,应用程序都会使用timestamp,point_id和value写入记录。
我想创建一个查询,返回几个point_id的值(例如 - 'point_id ='AA1'或point_id ='AA2')及其在时间戳窗口中的值('其中@start和@end'之间的时间戳)。任何人都可以帮我构建一个SQL语句来运行此查询?
答案
你在寻找类似下面的东西吗?
DECLARE @startDatetime DATETIME = '2018-03-01 10:00:00'
DECLARE @endDatetime DATETIME = '2018-03-20 12:00:00'
IF OBJECT_ID('tempdb..#Points') IS NOT NULL
DROP TABLE #Points
CREATE TABLE #Points (point_id VARCHAR(100) PRIMARY KEY)
INSERT INTO #Points (point_id)
VALUES
('AA2'), -- your point IDs
('A10')
SELECT
L.point_id,
L.timestamp,
L.value
FROM
LoggerTable AS L
INNER JOIN #Points AS P ON L.point_id = P.point_id
WHERE
L.timestamp BETWEEN @startDatetime AND @endDatetime
ORDER BY
L.point_id,
L.timestamp
以上是关于从记录器表构建SQL查询的主要内容,如果未能解决你的问题,请参考以下文章