Postgres 获取具有逗号分隔值的列表
Postgres to fetch the list having comma separated values
我正在使用 Postgres SQL 并且有以下连接查询,当我执行此查询时,我为每个员工获得了两到三个记录,因为每个员工都有 3 种不同类型的电子邮件地址 1) 家庭住址2) 办公地址 3) 社交地址。
select * from root.employee c
full outer join root.employee_email ce
on c.employee_id = ce.employee_id
order by c.employee_id limit 1000 offset 0;
我想要的是 employee_email.email
列在输出中给出逗号分隔值,我们该怎么做?
注意:我在数据库中有近 100 万条记录,将使用 Spring 批处理将数据从 Postgres 迁移到 MongoDB。我需要为 Phone
做同样的事情
按员工汇总并使用 string_agg
:
select
c.employee_id, -- or just c.* assuming employee_id is a PK
string_agg(ce.email, ',') as emails
from root.employee c
full outer join root.employee_email ce
on c.employee_id = ce.employee_id
group by
c.employee_id
order by
c.employee_id
limit 1000
offset 0;
我正在使用 Postgres SQL 并且有以下连接查询,当我执行此查询时,我为每个员工获得了两到三个记录,因为每个员工都有 3 种不同类型的电子邮件地址 1) 家庭住址2) 办公地址 3) 社交地址。
select * from root.employee c
full outer join root.employee_email ce
on c.employee_id = ce.employee_id
order by c.employee_id limit 1000 offset 0;
我想要的是 employee_email.email
列在输出中给出逗号分隔值,我们该怎么做?
注意:我在数据库中有近 100 万条记录,将使用 Spring 批处理将数据从 Postgres 迁移到 MongoDB。我需要为 Phone
做同样的事情按员工汇总并使用 string_agg
:
select
c.employee_id, -- or just c.* assuming employee_id is a PK
string_agg(ce.email, ',') as emails
from root.employee c
full outer join root.employee_email ce
on c.employee_id = ce.employee_id
group by
c.employee_id
order by
c.employee_id
limit 1000
offset 0;