Очистка БД от уволенных

FORUM_NAME: АРМ Орион Про версии до 1.20
Описание: АРМ "Орион Про" — пакет программного обеспечения для аппаратно-программного комплекса ИСО "Орион", на котором реализуются системы охранной сигнализации, контроля и управления доступом, охранного видеонаблюдения, автоматика противопожарных систем, сопряженные с инженерными системами объектов.
Справочная информация, руководства для АРМ Орион Про версии до 1.20
Модератор: Модераторы
Sia-Ori
Активный участник
Активный участник
Sia-Ori
Активный участник
Активный участник
Возраст: 46
Репутация: 2
Сообщения: 763
Зарегистрирован: 04.02.2012
С нами: 4 года 10 месяцев
Профессия: инженер СКУД
Откуда: Ростов на Дону

Непрочитанное сообщение #21 Sia-Ori » 26.10.2015, 18:27

Вот пара запросов по теме.
Первый выдаёт список ID пользователей, дату последнего события и общее количество событий по пользователю, после некоей даты.
-----------------------------------------
SELECT HozOrgan, COUNT(*) AS Expr1, MAX(TimeVal) AS Expr2
FROM pLogData
WHERE (HozOrgan > 0) AND (TimeVal > '2014/05/01')
GROUP BY HozOrgan
ORDER BY HozOrgan
------------------------------------------
А второй выбирает пользователей, по которым нет событий с заданной даты.
---------------------------------------------------
SELECT ID, Name, FirstName, MidName
FROM pList
WHERE (ID NOT IN
(SELECT DISTINCT HozOrgan
FROM pLogData
WHERE (HozOrgan > 0) AND (TimeVal > '2014/05/01')
ORDER BY HozOrgan))
--------------------------------
Для опытов использовал базу со 170 тысячами событий, всё быстро.

Zeta127
Zeta127
Возраст: 27
Репутация: 0
Сообщения: 6
Зарегистрирован: 09.10.2013
С нами: 3 года 1 месяц
Профессия: Инженер
Откуда: Воронеж

Непрочитанное сообщение #22 Zeta127 » 27.10.2015, 16:00

Sia-Ori писал(а):Вот пара запросов по теме.
------------------------------------------
А второй выбирает пользователей, по которым нет событий с заданной даты.
---------------------------------------------------
SELECT ID, Name, FirstName, MidName
FROM pList
WHERE (ID NOT IN
(SELECT DISTINCT HozOrgan
FROM pLogData
WHERE (HozOrgan > 0) AND (TimeVal > '2014/05/01')
ORDER BY HozOrgan))
--------------------------------
Для опытов использовал базу со 170 тысячами событий, всё быстро.

Чет этот не выполняется и пишет ошибку в менеджере центрального сервера

Предложение ORDER BY не допускается в представлениях,...., если не указано TOP или FOR XML.
Всегда рад помочь.

Sia-Ori
Активный участник
Активный участник
Sia-Ori
Активный участник
Активный участник
Возраст: 46
Репутация: 2
Сообщения: 763
Зарегистрирован: 04.02.2012
С нами: 4 года 10 месяцев
Профессия: инженер СКУД
Откуда: Ростов на Дону

Непрочитанное сообщение #23 Sia-Ori » 27.10.2015, 18:29

Нижний ордер лишний
SELECT ID, Name, FirstName, MidName
FROM pList
WHERE (ID NOT IN
(SELECT DISTINCT HozOrgan
FROM pLogData
WHERE (HozOrgan > 0) AND (TimeVal > '2014/05/01')))
----------------------------
Отдельное предупреждение.
Став двумя ногами в базу данных очень легко что-то испортить. Поэтому первое, с чего начинаем - это архивная копия. Сделали бэкап, распаковали его под другим именем, подцепились менеджером сервера к этому распакованному, проверили. И только после уже можно ставить эксперименты в БД.


Вернуться в «АРМ Орион Про версии до 1.20»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 6 гостей
Боты: Bing [Bot]

forum-bolid.ru : Отказ от ответственности