首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >postgres在几张桌子上聚集在一起

postgres在几张桌子上聚集在一起
EN

Stack Overflow用户
提问于 2018-02-15 18:10:40
回答 1查看 26关注 0票数 0

我有以下表格:

代码语言:javascript
复制
targeting
-- id
-- type
-- value

performance
-- id
-- ad_name
-- installs

performance_targeting
-- id
-- performance_id
-- targeting_id

我想得到每一个表现,它的目标值。

为了实现这一目标,我写道:

代码语言:javascript
复制
select performance_id, string_agg(value, ',' order by value) as values from 
targeting join performance_targeting
on targeting.id = performance_targeting.id
group by performance_id

但结果并不正确。

参见木琴 --正如您所看到的,id 1的性能与目标年龄18-24岁和女性有关。我希望array_agg显示以下内容:

代码语言:javascript
复制
performance_id   targeting_values 
1                18-24,female
2                25-34,male
3                18-24,female
4                25-34,female

怎么啦?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-15 18:15:35

你有个小虫子。你有performance_targeting.id而不是performance_targeting.targeting_id

代码语言:javascript
复制
select performance_id, 
   string_agg(value, ', ' ORDER BY value) as values 
from targeting 
join performance_targeting on targeting.id = performance_targeting.targeting_id
group by performance_id

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48813738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档