我从事招聘工作,想获得发布到多个办公室的职位列表以及每个职位的职位名称。
我从下面的查询开始,以确定具有多个办公室的职位。对于仅显示具有多个办公室的职位,我下一步要显示office.name的步骤是什么?如果我每项工作能获得一份记录并且将办公室名称填写在各列中,那么将是一个好处。我正在使用连接到Amazon Redshift的SQL Workbench。非常感谢!
select jobs_offices.job_id, count(offices.id)
from jobs_offices join offices on jobs_offices.office_id = offices.id
group by jobs_offices.job_id
having count(offices.id) >1
order by count(offices.id) DESC
答案 0 :(得分:1)
到目前为止,您的查询看起来不错,只是缺少办公室名称?我相信您可以通过添加listagg函数来获得以逗号分隔的办公室列表。像select jobs_offices.job_id, listagg(offices.name, ', ') from ...
答案 1 :(得分:0)
您可以使用相关的子查询
select t.* from offices t
where exists ( select 1 from jobs_offices t1 where t1.office_id=t.id
group by t1.job_id
having count(*) >1
)