Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET search_path TO _00000003, public ;
- /*
- DROP INDEX _00000003."iКонтрагентКонтакт-РегламентИсполнительДата_$";
- CREATE INDEX "iКонтрагентКонтакт-РегламентИсполнительДата_$"
- ON _00000003."КонтрагентКонтакт"
- USING btree
- ("Регламент", "Исполнитель", "Дата" DESC);
- */
- EXPLAIN(buffers, analyze, verbose)
- WITH cteMyOfficeDocs AS (
- -- Области видимости
- SELECT UNNEST('{196}' :: INTEGER []) deptId
- ),
- dept AS (
- SELECT
- x."@Лицо" "Лицо",
- x."Раздел",
- x."Название",
- x."Раздел@"
- FROM
- "СтруктураПредприятия" x
- WHERE
- x."Тип" = 0
- AND EXISTS(
- SELECT NULL
- FROM cteMyOfficeDocs s
- WHERE
- s.deptId = x."@Лицо"
- LIMIT 1
- )
- ),
- -- Сотрудники отделов
- deptUsers AS (
- SELECT
- sv."ЧастноеЛицо" "Лицо",
- sv."СтруктураПредприятия",
- COALESCE(p."Фамилия" || ' ', '') || COALESCE(SUBSTR(p."Имя", 1, 1) || '.', '') ||
- COALESCE(SUBSTR(p."Отчество", 1, 1) || '.', '') "Название",
- sv."Пользователь"
- FROM "СвязиПользователя" sv
- INNER JOIN "ЧастноеЛицо" p ON sv."ЧастноеЛицо" = p."@Лицо"
- WHERE
- sv."ЧастноеЛицо" IS NOT NULL AND
- sv."УправленческаяСтруктура" AND
- sv."$Черновик" IS NULL
- AND EXISTS(
- SELECT NULL
- FROM dept d
- WHERE d."Лицо" = sv."СтруктураПредприятия"
- )
- )
- SELECT
- (a)."Контрагент",
- (a)."НазваниеКонтрагента",
- (a)."Дата"
- FROM (
- SELECT
- unnest(ARRAY(
- SELECT k
- FROM "КонтрагентКонтакт" k
- WHERE
- k."Регламент" = 121 AND
- k."Исполнитель" = d."Лицо"
- ORDER BY k."Регламент" ASC NULLS LAST, k."Исполнитель" ASC NULLS LAST, k."Дата" DESC NULLS LAST
- LIMIT 2000
- )) a
- FROM deptUsers d
- ) t
- ORDER BY (a)."Дата" DESC
- LIMIT 1000 OFFSET 1000
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement