2012-06-15 33 views
0

我有一些表,我加入Postgres查詢(9)。選擇與Postgres的關係作爲列表

但是,由於它是多對多的關係,我得到了很多記錄,其中有表A的記錄,然後是表B的項目(如預期的那樣)。例如:

Car, Ford 
Car, BMW 
Car, VW 
Bike, Yamaha 
Bike, BMW 
Bike, Honda 

我後越來越關係的列表:

Car, "Ford, BMW, VW" 
Bike, "Yamaha, BMW, Honda" 

這是可能的Postgres的在一個正常的查詢,或者我需要做更多的東西的魔力?

回答

2
select a.type, 
     string_agg(b.name, ','); 
from a 
    join b on a.id = b.type_id 

你將需要用真正的(你沒有提供,所以我不能在這裏使用正確的)和列名稱替換。

+1

如果您打算處理結果而不是僅僅顯示它們,請檢查array_agg()。 –