0
我想讓我的查詢返回JSON在API中使用。我正在使用PostGIS擴展來處理位置信息。 PostGIS擴展功能運行良好,不存在這個問題。我只提到這一點,因爲查詢中涉及到PostGIS擴展的功能。我有JSON文件的這些對象:PostgreSQL聚合函數調用不能嵌套使用jsonb_agg函數
- 主要公司文件(OK)
- 涉及到相關的活動(*這就是我們有一個問題) 公司(OK)
- 日期事件
- 相關公司(OK)
- 城市相關的公司地址(OK)
這裏是我的SQL語句:
SELECT c.id, c.name, c.website, c.longdescription, c.description, c.email,
jsonb_agg((SELECT ev FROM (SELECT ev.title, ev.description, ev.longdescription, jsonb_agg((SELECT ed FROM(SELECT ed.startdate, ed.enddate, ed.id WHERE ed.id notnull)ed)) AS dates, ev.id WHERE ev.id notnull)ev)) AS events,
jsonb_agg((SELECT ca FROM (SELECT ct.zip, ca.id, ca.street1, ca.street2, ca.addresstype_id, ST_Y(ca.geopoint::geometry) AS latitude, ST_X(ca.geopoint::geometry) AS longitude WHERE ca.id notnull)ca)) AS addresses
FROM companies c
LEFT JOIN events ev ON ev.company_id = c.id
LEFT JOIN companyaddresses ca ON ca.company_id = c.id
LEFT JOIN cities ct ON ct.id = ca.city_id
LEFT JOIN eventdates ed ON ed.event_id = ev.id
GROUP BY c.id
任何想法如何我可以改革,因爲沒有嵌套的功能,仍然得出正確的結果?
它工作。這真棒 - 謝謝你! –
所以我沒有意識到我有重複的記錄,因爲連接。有什麼建議麼?再次感謝。 –