|
Как из выборки with сделать дополнительную выборку
|
|||
---|---|---|---|
#18+
Добрый день. Очень нужна помощь. Есть такой запрос: with x_cnt as ( select eah.orponid as gid , count(*) over(partition by replace(eaa.orponid||' '||COALESCE(lower(eah.housenum), '')||COALESCE(lower(eah.buildnum),'')||COALESCE(lower(eah.strucnum), ''),' ',' ')) as cnt from public.ent_as_house eah left join public.ent_as_addrobj eaa on eah.parent_id = eaa.id where 1=1 and eah.livestatus = 1 and eah.mrf_id = 354858661 and eah.parent_id is not null ) Этот запрос выдает идентификаторы eah.orponid адресов, которые являются дублями. Как из этих адресов выбрать только те пары или тройки дублей, в которых хотя бы у одного адреса дата создания (eah.create_date) больше какой-то даты, например, 01.06.2021? То есть должны остаться такие адреса: ID Адрес Дата создания 1 Волокамск, ул. Свободы д. 1 01-05-2019 2 Волокамск, ул. Свободы стр. 1 01-06-2021 3 Ипатово, ул. Доватора д. 68а 05-02-2015 4 Ипатово, ул. Доватора д. 68а 02-06-2021 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 08:00 |
|
Как из выборки with сделать дополнительную выборку
|
|||
---|---|---|---|
#18+
*Ann* with x_cnt as ( select eah.orponid as gid , count(*) over(partition by replace(eaa.orponid||' '||COALESCE(lower(eah.housenum), '')||COALESCE(lower(eah.buildnum),'')||COALESCE(lower(eah.strucnum), ''),' ',' ')) as cnt from public.ent_as_house eah left join public.ent_as_addrobj eaa on eah.parent_id = eaa.id where 1=1 and eah.livestatus = 1 and eah.mrf_id = 354858661 and eah.parent_id is not null ) Этот запрос выдает идентификаторы eah.orponid адресов, которые являются дублями. Как из этих адресов выбрать только те пары или тройки дублей, в которых хотя бы у одного адреса дата создания (eah.create_date) больше какой-то даты, например, 01.06.2021? 1. Прочитайте правила оформления постов. Никто не обязан вам тут помогать, правильно оформленный пост - это элементарное уважение к окружающим. Которые это оценят. 2. Как-то так (не отлаживал) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
3. Какой смысл несла конструкция "where 1=1"? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 13:04 |
|
Как из выборки with сделать дополнительную выборку
|
|||
---|---|---|---|
#18+
КесарьКакой смысл несла конструкция "where 1=1""динамический" запрос с параметрами, когда нет параметров - остается 1=1, чтобы не убирать WHERE из "конструктора запроса" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 16:41 |
|
Как из выборки with сделать дополнительную выборку
|
|||
---|---|---|---|
#18+
Alex_Ustinov КесарьКакой смысл несла конструкция "where 1=1" когда нет параметров - остается 1=1, чтобы не убирать WHERE из "конструктора запроса" Ничего себе! АИ оказывается уже близок, как никогда! Что это за конструктор, что умеет собирать такие запросы?! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 16:55 |
|
Как из выборки with сделать дополнительную выборку
|
|||
---|---|---|---|
#18+
Кесарь, Скорее всего веб-форма, где пользователь выбирает фильтры из combobox/checkbox/textbox, далее генерируется sql. Это нормальная практика с ипользованием 1=1 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 07:30 |
|
Как из выборки with сделать дополнительную выборку
|
|||
---|---|---|---|
#18+
VSVLAD Кесарь, Скорее всего веб-форма, где пользователь выбирает фильтры из combobox/checkbox/textbox, далее генерируется sql. Это нормальная практика с ипользованием 1=1 Ну это понятно, просто я не мог предположить, что у нас такие уже все умные, что научились делать генераторы с cte и оконными функциями. Обычные генераторы генерят такую лютую кондовую хрень, что на неё без слёз взглянуть нельзя. И ВСЁ НЕПРЕМЕННО ЗАГЛАВНЫМИ БУКВАМИ. Здесь же больше похоже на случай, что код достали из генератора, а потом допиливают руками. Поэтому я и спросил участника, понимает ли она, что делает. P.S. Кстати что-то она не отвечает. Нехорошо, люди стараются, помогают. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 11:40 |
|
Как из выборки with сделать дополнительную выборку
|
|||
---|---|---|---|
#18+
"3. Какой смысл несла конструкция "where 1=1"?" Кесарь, обычное дело писать такое, если запустить запрос и нужно закомментировать следующую строку в WHERE, нопремер Код: sql 1. 2. 3.
ЗЫ Код не из продакшна, если чо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 07:41 |
|
|
start [/forum/topic.php?fid=53&fpage=10&tid=1993981]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 250ms |
total: | 376ms |
0 / 0 |