0
私は多くの関係1つを持つテーブルに、ここに問い合わせていますPostgreSQLでグループ化されたすべてのjson行を単一の配列にプッシュする、異なる非一意の列を使用して結果をグループ化する方法はありますか?
SELECT t1.id, t1.deployment_id, (select row_to_json(_) from (select t2.room_id, t2.unit) as _) AS rooms FROM devices_device AS t1 LEFT OUTER JOIN devices_deviceunitroom AS t2 ON t1.id = t2.device_id;
は、今私が達成したいものです。
- t2.roomidとt2.unitがnullの場合単純な{}が必要です
- 結果がグループ化され、最後には1行しか表示されませんidとdeployment_id、部屋は
はのは、似た何かを言わせて1列にすべてをあるべき
d9:7f:d1:ed:ea:72:4a | | []
a9:e7:68:95:88:0b:40 | 6c742391-436c-4fa2-8dc2-6064aad290d0 | [{"room_id":"4f1680ad-43cc-4f16-969e-1a9a00763efd","unit":0}, {"room_id":"16b26a1a-c0dd-4b88-91db-f4809c70396a","unit":1}, {"room_id":"4f1680ad-43cc-4f16-969e-1a9a00763efd","unit":2}]
Postgresはすべての列がGROUP BY句になりたがっているので、私はGROUP BYで失敗したんだこれ重複を招く。誰かがこれの良い道を私に導くことができますか?