Size: a a a

pgsql – PostgreSQL

2021 March 04

S

Simon in pgsql – PostgreSQL
@elena_petrenko @pardo8 🙏🏼 спасибо большое
источник

П

Павел in pgsql – PostgreSQL
Simon
@elena_petrenko @pardo8 🙏🏼 спасибо большое
😉
источник

SB

Spoon Boy in pgsql – PostgreSQL
Такой вопрос. Есть union all из двух селектов. Нужно чтобы второй селект работал только если первый не вернул записей. Т.е. если записи по первому селекту были найдены, то второй выполнять не нужно (он гораздо тяжелее первого). Как это можно реализовать?
источник

AB

Alexey Bulgakov in pgsql – PostgreSQL
Spoon Boy
Такой вопрос. Есть union all из двух селектов. Нужно чтобы второй селект работал только если первый не вернул записей. Т.е. если записи по первому селекту были найдены, то второй выполнять не нужно (он гораздо тяжелее первого). Как это можно реализовать?
with первая часть и union all not exists
источник

SB

Spoon Boy in pgsql – PostgreSQL
Alexey Bulgakov
with первая часть и union all not exists
А можно чуть больше пример синтаксиса?
источник

AB

Alexey Bulgakov in pgsql – PostgreSQL
with tbl as (select * from table 1)

select * from tbl
union all
select * from table2
where not exists(select from tbl)
источник

s

shoxrux in pgsql – PostgreSQL
Привет всем. У меня есть несколько кейсов, в которых есть условие по соединению с main table. То есть в первом случае я должен join'ить по a.cl = c.account, во втором случае по a.cor = c.account и т.д... Вопрос в том, что мне использовать, подзапросы или есть другие решения?. И эти подзапросы должны возвращать по 5 колонок.
источник

s

shoxrux in pgsql – PostgreSQL
Как я знаю подзапрос должен возвращать только одно поле.
источник

E

Egor in pgsql – PostgreSQL
Ребята помогите сформировать запрос:

Три таблицы
- Quiz(id, text)
- Question(id, quiz_id, text)
- QuestionAnswer(id, question_id, text)

Надо одним запросом по quiz.id вытащить все что относится к этому квизу из остальных двух таблиц, типо:
quiz: {id, text, questions: [{id, text, answers: [{id, text}, {id, text}]}, {…}]}
источник

IK

Igor Komarov in pgsql – PostgreSQL
Egor
Ребята помогите сформировать запрос:

Три таблицы
- Quiz(id, text)
- Question(id, quiz_id, text)
- QuestionAnswer(id, question_id, text)

Надо одним запросом по quiz.id вытащить все что относится к этому квизу из остальных двух таблиц, типо:
quiz: {id, text, questions: [{id, text, answers: [{id, text}, {id, text}]}, {…}]}
union с одинаковыми полями можно сделать, и добавить поле type, например, которое в верхней и нижней части union сделать разным (чтобы отличить откуда мы тащили строчку)
источник

IK

Igor Komarov in pgsql – PostgreSQL
если хочется сразу аггрегировать в json – то почитать про функции аггрегации, и написать такой запрос
источник

E

Egor in pgsql – PostgreSQL
Igor Komarov
union с одинаковыми полями можно сделать, и добавить поле type, например, которое в верхней и нижней части union сделать разным (чтобы отличить откуда мы тащили строчку)
А можешь пример запроса написать, а то не совсем понял как именно
источник

IK

Igor Komarov in pgsql – PostgreSQL
select 
 q.id as id,
 "question" as type,
 q.quiz_id as parent_id,
 q.text as text
 from questions q
 where q.quiz_id = '?'

union

select
 a.id as id,
 "answer" as type,
 a.question_id as parent_id,
 a.text as text,
 from answers a
 inner join questions q2
   on q2.quiz_id = '?' and q2.id = a.question_id


чет примерно такое
источник

IK

Igor Komarov in pgsql – PostgreSQL
в теории даже должно работать
источник

E

Egor in pgsql – PostgreSQL
Igor Komarov
select 
 q.id as id,
 "question" as type,
 q.quiz_id as parent_id,
 q.text as text
 from questions q
 where q.quiz_id = '?'

union

select
 a.id as id,
 "answer" as type,
 a.question_id as parent_id,
 a.text as text,
 from answers a
 inner join questions q2
   on q2.quiz_id = '?' and q2.id = a.question_id


чет примерно такое
Спасибо сейчас попробую
источник

В

Влад in pgsql – PostgreSQL
Коллеги, подскажите пожалуйста, какой написать select, чтобы из бд всегда выбиралсь последняя строчка?
источник

AN

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

D

Dmitriy in pgsql – PostgreSQL
Влад
Коллеги, подскажите пожалуйста, какой написать select, чтобы из бд всегда выбиралсь последняя строчка?
SELECT id, name FROM users ORDER BY id DESC LIMIT 1
источник

В

Влад in pgsql – PostgreSQL
Dmitriy
SELECT id, name FROM users ORDER BY id DESC LIMIT 1
спасибо!!!
источник

C

Combot in pgsql – PostgreSQL
Влад
спасибо!!!
Влад (0) увеличил репутацию Dmitriy (1)
источник