Size: a a a

pgsql – PostgreSQL

2021 June 22

SB

Spoon Boy in pgsql – PostgreSQL
Вот например, в TAB2 есть две записи - одна соответствует первому условию, другая - второму. Они обе будут выбраны. А надо, чтобы в этом случае только та, что соответствует первому условию
источник

C

Che in pgsql – PostgreSQL
Ну да
источник

SB

Spoon Boy in pgsql – PostgreSQL
Ну так я же рассказал почему это не работает.
источник

Ð

Ð in pgsql – PostgreSQL
груп бай, или вместо джойна подзапрос с лимитом
источник

C

Che in pgsql – PostgreSQL
Тогда добавить not exists (select * from tab2 where tab2.fld = tab1.fld)
источник

SB

Spoon Boy in pgsql – PostgreSQL
груп бай (или distinct on) не дает возможности решить, какая запись будет выбрана - первая или вторая. А надо, чтобы были приоритет
источник

C

Che in pgsql – PostgreSQL
Left join ещё можно 2 штуки
источник

C

Che in pgsql – PostgreSQL
А потом результаты по полям объединить coalesce
источник

SB

Spoon Boy in pgsql – PostgreSQL
Не очень понимаю что имеется ввиду. Ну будут выбраны обе записи - одна по первому условию, другая - по второму.
источник

Ð

Ð in pgsql – PostgreSQL
тогда подзапрос с сортировкой и лимитом
источник

SB

Spoon Boy in pgsql – PostgreSQL
я тоже так думал, но PG ругается на коррелированные запросы в join
источник

Ð

Ð in pgsql – PostgreSQL
а нафиг джойн, делай в селекте прямо
источник

Ð

Ð in pgsql – PostgreSQL
будет луп, ну и хрен с ним
источник

SB

Spoon Boy in pgsql – PostgreSQL
Проблема в том, что не понятно по чему сортировать. И первая и вторая запись могут быть с ключами как больше так и меньше
источник

Ð

Ð in pgsql – PostgreSQL
ну у тебя же есть условие какую запись выбирать, вот по нему и сортируй
источник

SB

Spoon Boy in pgsql – PostgreSQL
Так в том то и дело что два условия, а не одно
источник

Ð

Ð in pgsql – PostgreSQL
ну так скомбинируй их и сортируй, в чем проблема то
источник

Ð

Ð in pgsql – PostgreSQL
найди способ корректно выбрать это для одной строки, а потом залупь по всем подходящим строкам
источник

SB

Spoon Boy in pgsql – PostgreSQL
Я не понимаю что вы имеете ввиду.  Вот по первому условию выбрана запись REC1, по второму - REC2. Как вы предлагаете сортировать?
источник

C

Che in pgsql – PostgreSQL
Уже нет сил объяснять:
Select tbl1.fld, coalesce(tbl2.fldN, tbl3.fldN), ….
From tbl1 left join tbl2 on tbl1.fld = tbl2.fld left join tbl2 as tbl3 on tbl1.fld3 = substring(tbl3.fld3 …..)
источник