Как удалить группу записей из списка, которые удовлетворяют некоторому условию - PullRequest
0 голосов
/ 21 июня 2019

У меня есть список записей таблицы, который я получил с помощью хранимой процедуры

Таблица

enter image description here

здесь я получил 8 сенсорных записей за каждую минуту и ​​их tempStatus, humStatus.

состояние, которое я хочу, это 1. если весь статус для определенного промежутка времени получает Pass, тогда я должен удалить все записи этого диапазона dataDateTime. 2. если какой-либо из 8 датчиков температуры или датчика не работает в течение определенного промежутка времени, тогда мне нужно выбрать все записи за этот промежуток времени.

Значит, я хочу это enter image description here

Здесь хранится процедура, из которой я получаю эти записи

SELECT [MachineID]
,sum([TempatureSetValue]) AS [TempatureSetValue]
,sum([HumiditySetValue]) AS [HumiditySetValue]
,sum([TempaturePresentValue]) AS [TempaturePresentValue]
,sum([HumidityPresentValue]) AS [HumidityPresentValue]
,[DataDateTime]
,[RealSensorID] as SensorId
,(CASE WHEN ( SUM([TempaturePresentValue]) > @maxTAlarm OR SUM([TempaturePresentValue]) < @minTAlarm ) THEN 'FAIL' ELSE 'PASS' END) AS TempStatus
,(CASE WHEN (sum([HumidityPresentValue]) > @maxHAlarm OR sum([HumidityPresentValue]) < @minHAlarm) THEN 'FAIL'ELSE 'PASS' END) AS HumStatus
FROM tblData
WHERE DataDateTime BETWEEN @startDate AND @endDate AND MachineID =@machineId
 GROUP BY [RealSensorID]
,[DataDateTime]
,[MachineID]
 ORDER BY [DataDateTime]
,[RealSensorID]

поскольку база данных слишком велика, это также требует времени, Мне нужно решение, чтобы получить этот результат с помощью хранимой процедуры или с помощью LINQ в коде C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...