Size: a a a

pgsql – PostgreSQL

2021 June 22

Ð

Ð in pgsql – PostgreSQL
а как предполагается выбирать из них? если не важно какую - брать любую
источник

SB

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

Ð

Ð in pgsql – PostgreSQL
что значит по номеру условия? coalesce?
источник

C

Che in pgsql – PostgreSQL
Ну и добавить where tbl2.fld is not null and tbl3.fld3 is not null
источник

SB

Spoon Boy in pgsql – PostgreSQL
Т.е. есть условие 1 и условие 2. Если найдена запись по условию 1 - то она включается. Если  есть записи по усл 1 и по усл 2, то только одна любая запись по усл 1. Если нет записией по усл1 и есть по усл2 - то любая из найденых по усл2.
источник

C

Che in pgsql – PostgreSQL
Но так понятнее
источник

C

Che in pgsql – PostgreSQL
Ой если будет больше одной записи по условию 1 то будет жопа, извините
источник

SB

Spoon Boy in pgsql – PostgreSQL
Так это не будет работать потому что одна и та же запись может соответствовать и усл1 и усл2
источник

SB

Spoon Boy in pgsql – PostgreSQL
Т.е. усл1 и усл2 не взаимоисключающие
источник

C

Che in pgsql – PostgreSQL
Ну правильно coalesce выберет значение из первой найденной, потом дистинкт или групбай
источник

Ð

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

SB

Spoon Boy in pgsql – PostgreSQL
А, так там же не одно поле надо взять, а всю запись.
источник

C

Che in pgsql – PostgreSQL
Ну пусть и запись вернёт
источник

C

Che in pgsql – PostgreSQL
Голосую за функцию, потому что если по второму условию могут быть несколько записей, то без дистинкта или групбая не обойтись.
источник

Ð

Ð in pgsql – PostgreSQL
а еще может появится третье условие через год, и городушки будет хрен разобрать. Это императивная логика, а не алгебра
источник

C

Che in pgsql – PostgreSQL
Нет такого синтаксиса join для первой попавшейся записи, всегда это умножение
источник

C

Che in pgsql – PostgreSQL
+
источник

C

Che in pgsql – PostgreSQL
А вообще бизнес логику нужно из БД уносить, тем более такую не четкую с regexp
источник

Ð

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

Ð

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