Связи между таблицами в базе данных MS SQL Orion Pro Болид

Недавно пришлось столкнуться со следующей проблемой: заказчику нужно было сделать отчет по проходам сотрудников, который сильно отличался от шаблонного отчета в генераторе отчетов Орион Про Болида. Изучение конструктора отчетов и иных болидовских глупостей при знании языка SQL мне показалось не нужным… Покопавшись в базе, я установил связи между нужными мне таблицами, после чего написать отчет не составило труда. Есть один момент – коды ключей в таблице pMark в столбце CodeP закодированы. Однако закодированы они не очень сильно и их легко можно узнать. Об этом я напишу в следующий раз. Вот, собственно диаграмма связей между таблицами в базе данных MS SQL Orion Pro Болид:
диаграмма связей между таблицами в базе данных MS SQL Orion Pro Болид

Оцените пожалуйста статью:

ПечальноТак себеНе плохоХорошоОтличная статья! 3 оценок.
Загрузка...

7 Replies to “Связи между таблицами в базе данных MS SQL Orion Pro Болид

  1. Здравствуйте!
    Спасибо за информацию!
    Жду с нетерпением продолжение публикации по данной теме.
    С Уважением, Дмитрий.

    1. Дмитрий! Спасибо. Пишите в комментариях какого рода информация Вас интересует.

      1. Здравствуйте!
        Помогите пожалуйста написать запрос в MS SQL в результате которого по “номеру”(или другому идентификатору работника из таблицы pLogData) получить отчет за определенный временной интервал в котором будет время прохода и точка прохода.
        Заранее спасибо!!!
        С Уважением, Дмитрий.

        1. Дмитрий! Укажите какие столбцы в выходной таблице вы хотите видеть. Прямо так: Фамилия, Имя, Отчество, время прохода, точка прохода и т.д. Так же укажите какие исходные данные вы хотите использовать для получения отчета. Айди сотрудника, временной интервал, точки прохода, вход – выход? Не обещаю что напишу тут-же, пока мало свободного времени.

        2. В самом простом случае без использования функций и переменных запрос будет выглядеть так:

          1. SELECT 
          2. -- лишние столбцы закомментировать
          3. 		TimeVal
          4.       ,HozOrgan
          5.       ,DoorIndex
          6. 	  ,Remark
          7. 	  ,Name + ' ' + FirstName + ' ' + MidName AS Name
          8. FROM pLogData JOIN pList ON pLogData.HozOrgan = pList.ID
          9. WHERE  
          10. pLogData.TimeVal BETWEEN 
          11. CONVERT (datetime,
          12. '2016-07-12 09:57:39.000'	 -- начало интервала (изменить)
          13. , 21) 
          14. AND CONVERT (datetime, 
          15. '2016-07-12 11:57:39.000'	 -- окончание интервала (изменить)
          16. ,21)
          17. AND pLogData.HozOrgan = 11	 -- ID персоны из таблицы pList (изменить)
  2. Александр, спасибо за информацию. По какой причине часть устройств не фиксируется в pLogData и m_alarm?

    1. Здравствуйте! Возможно это связано с тем, что устройства не прописаны в базе Орион Про. Посмотрите их наличие в таблице DevItems

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *