У меня есть отношение один ко многим в базе данных pg.У меня есть таблица A и таблица B, где строки B имеют внешний ключ для A.
Я хочу выбрать определенные строки из A и прикрепить определенные столбцы из соответствующих строк B к той же строке из A.
Например,
A
id | created_at |
B
id | created_at | a_id | type |
Я пытался сделать несколько подзапросов, например,
select A.id,
(select created_at from B where b.a_id = a.id and B.type = 'some_type' limit 1) as some_type_created_at,
(select created_at from B where b.a_id = a.id and B.type = 'another_type' limit 1) as another_type_created_at
from A
Но это явно уродливо и неправильно, похоже на это.Как лучше всего добиться этого в Postgres?
Конечно, я могу присоединиться и получить полный декартовой продукт, но я хочу, чтобы результат из db был прямо таким: