我想我需要一个横向的,一直在看例子,但不能弄清楚...
由于赌场有许多“存款”,我得到多个结果行返回,每个相关的存款一个。
我想只得到1行/每个赌场的结果,然后所有的存款/d.“名称”在json数组格式的一列。
我希望结果如下所示:
Casino.id | Casino Name | [{ deposit1 }, {deposit 2}, deposit 3}] etc...
非:
Casino.id | Casino Name | deposit1
Casino.id | Casino Name | deposit2
Casino.id | Casino Name | deposit3
怎么做
SELECT casino.id
, casino."name"
, d."name"
FROM public."Casino" casino
left join "CategoryOnCasinos" coc
on coc."casinoId" = casino.id
left join "Category" category
on category.id = coc."categoryId"
left join "DepositsOnCasinos" doc
on doc."casinoId" = casino.id
left join "Deposit" d
on d.id = doc."depositId"
where category.slug = 'all-casinos';
1条答案
按热度按时间rta7y2nd1#
尝试使用JSON_AGG函数。
这应该为每个赌场返回一行,并在
deposit
列中返回存款的JSON数组。ref