我有兩個表,第二個表包含一個參考第一個表主鍵的外鍵。
第一個表“房屋”(id,標題,城市,國家),第二個表“影像”(id,名稱,house_id)
我正在實施以下查詢:
SELECT * FROM houses INNER JOIN images ON houses.id = images.house_id;
結果是除欄位名稱外的重復資料陣列:
[
{
id:1,
title: "house1",
city:"c1",
country:"country2",
name:"image1",
house_id: 2
},
{
id:2,
title: "house1",
city:"c1",
country:"country2",
name:"image2",
house_id: 2
},
{
id:3,
title: "house1",
city:"c1",
country:"country2",
name:"image3"
house_id: 2,
},
]
我如何調整查詢以獲得如下結果:
[
{
id:2,
title: "house1",
city:"c1",
country:"country2",
imagesNames:["image1","image2","image3"]
house_id: 2,
}
]
使用 knex 是否可行?我正在使用 PostgreSQL 資料庫。
uj5u.com熱心網友回復:
GROUP BY所有對等方共享的所有列和聚合名稱。喜歡:
SELECT h.id, h.title, h.city, h.country
, array_agg(name) AS images_names
, i.house_id -- redundant?
FROM houses h
JOIN images i ON h.id = i.house_id;
GROUP BY h.id, h.title, h.city, h.country, i.house_id;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/331681.html
標籤:数据库 PostgreSQL knex.js
下一篇:在資料中顯示缺失的周
