Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Join: справочник и регулярные выгрузки / 9 сообщений из 9, страница 1 из 1
08.07.2019, 08:20
    #39834854
nicolasha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
Добрый день.

Прошу помощи,что-то залип с вроде простой задачей.

Задача: автотест (стек psql 8.3) регулярной выгрузки строк на определённую дату в таблицу,подсчёт строк в данной таблице и сличиние со справочником организаций. Если нет строк по организации - ошибка.

Решил так: взял справочник организаций и left join к нему все строки выгруженные за определённую дату.

Далее группировкаидетничных строк.

Проблема в том,что нужно в секции where оставить не найденные пары в массиве на определённую дату. Если фильтрую в секции where по дате,остаются только те,что выгружены. Если добавляю условие is null для присоединяемой таблице,ищутся выгрузки из другой отчетности даты.

Продзапросами пока не пробовал решить,хочу понять что за беда такая.
...
Рейтинг: 0 / 0
08.07.2019, 09:27
    #39834874
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
not exists
...
Рейтинг: 0 / 0
08.07.2019, 09:46
    #39834886
nicolasha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
alex-ls,

Спасибо,но не очень понимаю как его можно тут применить.
...
Рейтинг: 0 / 0
08.07.2019, 10:03
    #39834892
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
nicolashaне очень понимаю как его можно тут применить
вот для этого
nicolashaнужно в секции where оставить не найденные пары в массиве на определённую дату
...
Рейтинг: 0 / 0
08.07.2019, 15:47
    #39835058
nicolasha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
alex-ls,
select B.ufps_name,P_E.branch,P_E.report_date
from ld_pdz_pa.branch B left join ld_pdz_pa."period" P_E
on B.code_assp = P_E.branch
where exists ( select * from ld_pdz_pa."period" P_E where P_E.report_date = '2019-05-31 00:00:00' or P_E.report_date is null)
group by B.ufps_name,P_E.branch,P_E.report_date
order by P_E.branch

В выборку попадают report_date = '2019-05-31 00:00:00' и '2019-07-03 00:00:00'. Не пойму причину.
...
Рейтинг: 0 / 0
08.07.2019, 16:56
    #39835096
nicolasha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
Вопрос закрыт
...
Рейтинг: 0 / 0
08.07.2019, 17:41
    #39835116
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
вы хотя бы дайте итоговый запрос, чтобы другие люди больше не спрашивали одно и тоже
...
Рейтинг: 0 / 0
08.07.2019, 21:08
    #39835221
nicolasha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
alex-lsвы хотя бы дайте итоговый запрос, чтобы другие люди больше не спрашивали одно и тоже
Я до конца вопрос не решил в такой конструкции, долго работает и не торт. (Проблему решил частино, подав подзапросом через exists строки с нужной датой) сверху наложив аналогичное условие. Все это в неявной форме, вообщем переписал по другом, используя другие таблицы.

Задача интересная именно в такой конструкции, если у кого-то будут мысли, пишите в ЛС пожалуйста. Буду благодарен за помощь.
...
Рейтинг: 0 / 0
09.07.2019, 09:37
    #39835321
YuriyRusinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Join: справочник и регулярные выгрузки
nicolasha,

Все равно, опубликуйте получившийся запрос, чтоб у остальных людей была точка опоры в случае возникновения такой задачи.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Join: справочник и регулярные выгрузки / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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