我有两个表格。一个是产品的列表,一个是他们许多属性的列表。 (这已经从我原来的模型简化了;))从右表返回一行并记录多条记录
表prods
有两列:id
和name
。
表taxons
有三列:id
,name
和prod_id
。
Prods
有四个记录:
id | name = = = = = = 1 | boat 2 | tree 3 | lamp 4 | soda
Taxons
有十五记载:
id | name | prod_id = = = = = = = = = = = = = = 1 | bright | 3 2 | breezy | 1 3 | green | 2 4 | wet | 1 5 | sturdy | 2 6 | shady | 2 7 | antique | 3 8 | deciduous | 2 9 | buoyant | 1 10 | fizzy | 4 11 | calming | 2 12 | carefree | 1 13 | big | 1 14 | sweet | 4 15 | brass | 3
我想是使用prods.id
和taxons.prod_id
是加入taxons
到prods
查询,但只返回4行,所以像这样:
(所需)R esult:
1 | boat | breezy | wet | buoyant | carefree | big 2 | tree | green | sturdy | shady | deciduous | calming 3 | lamp | bright | antique | brass 4 | soda | fizzy | sweet
我不知道哪里去了这一点,我已经试过工会的各种组合和连接,但还没有找到任何工作。我们正在使用postgres。有任何想法吗?
谢谢,这工作。 :)我以为我搜索过高和低!结束了这样的事情:SELECT p.name,array_agg(t.name)作为prod_taxons FROM prods作为p LEFT JOIN taxons as t ON p.id = t.prod_id GROUP BY p.name; – melissanoelle
很高兴工作! – mwigdahl