powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сложная вьюха
12 сообщений из 12, страница 1 из 1
Сложная вьюха
    #39662868
psevdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Есть множество КПП (контрольно пропускной пункт; вертушка, к которой прикладываются карты). Регистрируются события в таблице event:
автор1) emplId - ID сотрудника
2) specId - ID специальности сотрудника
3) date - дата регистрации события
4) direction - направление (вход/выход)
5) kppId - ID КПП
6) description


Мне нужно посчитать время нахождения сотрудника на территории. Т.е. нужно считать <дата_выхода> - <дата_входа>.
Можно ли это реализовать через вьюху? Чтобы я потом забирал из нее данные.
...
Рейтинг: 0 / 0
Сложная вьюха
    #39662886
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
psevdo,
а почему бы вместо date и direction не использовать date_in и date_out?
Меньше ошибок, проще считать.
...
Рейтинг: 0 / 0
Сложная вьюха
    #39662894
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, понял. входить-выходить можно через разные ПП.
Тогда джойнить две копии таблицы по равенству ИД сотрудника и неравенству дат. Плюс ограничения на сутки, но это уже от специфики проблемы зависит. Данных маловато.
...
Рейтинг: 0 / 0
Сложная вьюха
    #39662908
psevdo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема заключается еще в том, что люди могут проходить через КПП по нескольку раз за день.
...
Рейтинг: 0 / 0
Сложная вьюха
    #39663192
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача вполне решаемая.
Начни с нумерации записей для каждого сотрудника при сортировке по времени (читаем соотв. FAQ). Затем отбираем только те пары, где номер для входа на 1 меньше номера для выхода. Далее (если надо) берём пересечение этого интервала с рабочим временем (таблица или синтетика). Теперь Datediff() и суммируем. Всё.
...
Рейтинг: 0 / 0
Сложная вьюха
    #39663298
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psevdo,

Как считать случаи, когда был проход в одну сторону подряд два и более раз?
...
Рейтинг: 0 / 0
Сложная вьюха
    #39663333
osxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftpsevdo,

Как считать случаи, когда был проход в одну сторону подряд два и более раз?Не должно, КПП, сотрудник, зашел, вышел. (залогинился, разлогинился). Конечно не стоит исключать человеческий фактор но все же.
...
Рейтинг: 0 / 0
Сложная вьюха
    #39663334
osxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaЗадача вполне решаемая.
Начни с нумерации записей для каждого сотрудника при сортировке по времени (читаем соотв. FAQ). Затем отбираем только те пары, где номер для входа на 1 меньше номера для выхода. Далее (если надо) берём пересечение этого интервала с рабочим временем (таблица или синтетика). Теперь Datediff() и суммируем. Всё.Задача решаемая, но такое навряд ли во вьюху впихнешь.
...
Рейтинг: 0 / 0
Сложная вьюха
    #39663336
osxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
psevdoЗдравствуйте. Есть множество КПП (контрольно пропускной пункт; вертушка, к которой прикладываются карты). Регистрируются события в таблице event:
...
Мне нужно посчитать время нахождения сотрудника на территории. Т.е. нужно считать <дата_выхода> - <дата_входа>.
Можно ли это реализовать через вьюху? Чтобы я потом забирал из нее данные.Простейший вариант добавить еще одну таблицу, а на эту повесить триггер срабатывающий на "выход", в дополнительной будет накапливаться разница во времени, между входом и выходом. Вот ее можно и во вьюху, только надо ли, там уже можно обойтись простейшими запросами.
...
Рейтинг: 0 / 0
Сложная вьюха
    #39663343
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2) specId - ID специальности сотрудника
а это то чего тут делает, ему место в таблице сотрудников
...
Рейтинг: 0 / 0
Сложная вьюха
    #39663459
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
osxlтакое навряд ли во вьюху впихнешьНормально впихнётся.
Другое дело, что вью явно админского уровня, пользоваться будет редко - а тогда нафига козе баян? ХП куда как правильнее..
...
Рейтинг: 0 / 0
Сложная вьюха
    #39663641
osxl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinaosxlтакое навряд ли во вьюху впихнешьНормально впихнётся.
Другое дело, что вью явно админского уровня, пользоваться будет редко - а тогда нафига козе баян? ХП куда как правильнее..Хотелось бы наглядно видеть, как ЭТО нормально впихнуть. ХП правильнее чем что?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сложная вьюха
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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