@WAYNEDEV

Как сгруппировать данные в postgresql?

Есть две таблицы (одна для портфолио, вторая для фотографий портфолио), как мне вывести массив портфолио с связанными для них фотографиями? Как правильно построить запрос для SELECT?

[{ 
  name: '', descripton: '',
  ... 
  images: [{src: 'url', src_build: 'url'}, {src: 'url', src_build: 'url'}]
}]

61264d362166f301619796.png61264d480cd8c512979805.png
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
select 
	portfolio.id, portfolio.name,
	array_agg(json_build_object('src', photos.src, 'src_build', photos.src_build))
from portfolio
left join photos on portfolio.id = photos.portfolio_id
group by portfolio.id, portfolio.name
;


PostgreSQL fiddle
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы