powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблемка с отчетами
2 сообщений из 2, страница 1 из 1
Проблемка с отчетами
    #32022479
Максим
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет
Для начала я опишу ситуацию :
В базу пишутся данные о состоянии оборудования, меня интересуют время пуска и время останова конкретного агрегата. В принципе, в этом случае меня интересуют 2 поля : dtime ( время останова и пуска оборудования) и id( идентификатор конкретного действия - пуска и останова). Каким образом можно отследить сигналы старт стоп, чтобы можно-было расщитать время работы и простоя оборудования?
Если есть какие-либо идеи - поделитесь, если что непонятно в описании, то напишите, я объясню!
Заранее всем благодарен.
...
Рейтинг: 0 / 0
Проблемка с отчетами
    #32022484
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
\ncreate table #hardware(hardware_id int, dtime datetime, action_id int)

insert #hardware values(1, '20010101 00:00:00', 1)
insert #hardware values(2, '20010101 00:01:00', 1)
insert #hardware values(2, '20010101 00:10:00', 2)
insert #hardware values(1, '20010101 00:20:00', 2)
insert #hardware values(1, '20010101 00:30:00', 1)
insert #hardware values(1, '20010101 01:00:00', 2)
insert #hardware values(2, '20010101 01:00:00', 1)
insert #hardware values(1, '20010101 01:30:00', 1)
insert #hardware values(1, '20010101 01:35:00', 2)

/*время работы*/
select a.hardware_id, a.dtime as start, isnull((select top 1 dtime from #hardware b where b.hardware_id = a.hardware_id and b.action_id <> a.action_id and b.dtime > a.dtime order by b.dtime asc), getdate()) as stop
from #hardware a
where a.action_id = 1
order by a.hardware_id, a.dtime

/*время простоя*/
select a.hardware_id, a.dtime as start, isnull((select top 1 dtime from #hardware b where b.hardware_id = a.hardware_id and b.action_id <> a.action_id and b.dtime > a.dtime order by b.dtime asc), getdate()) as stop
from #hardware a
where a.action_id = 2
order by a.hardware_id, a.dtime

drop table #hardware
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проблемка с отчетами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]