0

我有一些表要加入到 Postgres (9) 的查询中。

但是,由于它是多对多关系,我得到了很多记录,其中我有表 A 的记录,然后是表 B 的项目(如预期的那样)。例如:

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

我所追求的是将关系作为一个列表:

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

在普通查询中使用 Postgres 可以做到这一点,还是我需要做一些更神奇的事情?

4

1 回答 1

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

您需要将列名和表名替换为真实名称(您没有提供,因此我无法在此处使用正确的名称)。

于 2012-06-15T09:41:15.970 回答