У меня есть записи с колонками: ID
, Time_End
и Attribute
.Удаление записи в SQL в зависимости от следующей записи
Мне нужно удалить все записи,
WHERE Time_End = '1990-01-01 00:00:00.000' AND Attribute <> '9'
но только:
- , если следующая строка не имеет тот же номер атрибута
или
- следующая строка имеет тот же номер атрибута и значение
Time_End
из1990-01-01 00:00:00.000
Например:
ID Time_End Attribute
---------------------------------------------
235 1990-01-01 00:00:00.000 5 /delete
236 1990-01-01 00:00:00.000 5 /delete
237 1990-01-01 00:00:00.000 5
238 2016-10-10 23:45:40.000 5
ID Time_End Attribute
---------------------------------------------
312 1990-01-01 00:00:00.000 8 /delete
313 2016-01-09 18:00:00.000 6
314 1990-01-01 00:00:00.000 4 /delete
315 1990-01-01 00:00:00.000 7
316 2016-10-10 23:45:40.000 7
Наш клиент имеет 50 таблиц базы данных с тысячами записей в каждой таблице (и, конечно, больше столбцы, я упомянул только те, которые оказывают влияние на решение). Записи отправляются в базу данных с ПЛК, но иногда (мы не знаем, почему) ПЛК посылает также неверные записи.
Так что мне нужен запрос, который находит эти неправильные записи и удаляет их. :)
Любой, кто знает, как должен выглядеть код SQL?
Я удалил несовместимые теги базы данных. Пожалуйста, пометьте базу данных, которую вы фактически используете. –
Используете ли вы сервер MS SQL – DhruvJoshi
Да, я использую MS SQL –