Можно ли узнать в каких строках изменяется значения (по порядку)?
а лучше последняя и первая строка нового значения
id значение
1 нет
2 да <-?
3 да
4 да <-?
5 нет
6 нет
7 да <-?
8 да
9 да
10 да
11 да <-?
12 нет
Group слепит всё в 2 группы — а это не нужно
Помогите хоть в какую сторону рыть?
Здравствуйте, vvv848165@ya.ru, Вы писали:
VYR>Можно ли узнать в каких строках изменяется значения (по порядку)? VYR>а лучше последняя и первая строка нового значения VYR>id значение VYR>1 нет VYR>2 да <-? VYR>3 да VYR>4 да <-? VYR>5 нет
Если id — это число и оно точно-точно идет последовательно, то можно просто сделать join этой таблицы самой с собой по условию r.id = l.id + 1 ну и выбрать те строки где l.value <> r.value
Если же такое требование на id не выполняется, то можно пронумеровать через оконные функции и row_number() а дальше то же самое.
Здравствуйте, vvv848165@ya.ru, Вы писали:
VYR>Помогите хоть в какую сторону рыть?
В подзапросы
SELECT Id, v FROM #t
SELECT * FROM (
SELECT Id, v, v1 = (SELECT TOP 1 v FROM #t t2 WHERE t2.Id > t1.Id ORDER BY ID)
FROM #t t1
) AS t3
WHERE t3.v <> t3.v1
Как то я начал переправлять таблицы и понял что что-то скорее всего делаю не то
причём стандартных правил для построения таблиц не хватает (КАКОЙ ТО ЖУТКИЙ СЛУЧАЙ)
Задача в кратце такая:
серверу шлют постоянно сообщения с определённым id объекта и временем есть ли пожар или нет (они должны логироваться)
если пожар то их обрабатывают и надо сохранить когда и кто взял на обработку и завершили обрабатывать
думал как -то-так:
[опросы] (таблица логов/опросов)
id_опроса
id_объекта
время
пожар (bool при пожаре true)
[принято_в_обработку] (таблица взятия для обработки)
?id_обработки (??? если добавить то с таблицей "обработано" вроде лучше)
id_объекта
время
id_оператора (который взял обрабатывать пожар)
?id_опроса (??? может добавить id первого опроса с пожаром но его можно вычислить)
[обработано] (таблица совершенных обработок)
id_объекта (??? если будет id_обработки то лишнее)
время
id_оператора (который взял обрабатывать пожар)
результат
?id_обработки (??? может добавить)
А потом я подумал — может завести ещё таблицу "первое срабатывание" — тогда будет почти всё связно
??? Самый важный вопрос последний — то-есть если есть таблица [опросы] — нужно ли заводить ещё таблицу "первое срабатывание" (она же будет дублировать информацию)
Здравствуйте, vvv848165@ya.ru, Вы писали:
VYR>серверу шлют постоянно сообщения с определённым id объекта и временем есть ли пожар или нет (они должны логироваться) VYR>если пожар то их обрабатывают и надо сохранить когда и кто взял на обработку и завершили обрабатывать
Надеюсь, пока задача не решена, наблюдателя с пожарной каланчи не сняли?
(шутко )
Здравствуйте, vvv848165@ya.ru, Вы писали:
VYR>Как то я начал переправлять таблицы и понял что что-то скорее всего делаю не то VYR>причём стандартных правил для построения таблиц не хватает (КАКОЙ ТО ЖУТКИЙ СЛУЧАЙ)