SELECT company.id,company.zz,snap.xydm,snap.”companyName”, p.xm fr from (
      SELECT a.id,string_agg(
      case 
      when d.zzlx = 1 then ‘路基路面’
      when d.zzlx = 2 then ‘桥梁’
      when d.zzlx = 3 then ‘隧道’
      when d.zzlx = 4 then ‘交通安全设施’ end
       ||
      case 
      when d.zzdj = 1 then ‘甲级’
      when d.zzdj = 2 then ‘乙级’
      else ” end , ‘,’) as zz 
      from company_info a
      left join company_info_snapshot b on a.id = b.company_id
      left join company_aptitude_r c on c.snapshot_id = b.id
      left join aptitude d on c.aptitude_id = d.id 
      where d.id is not null and a.del_flag = 2 and d.del_flag = 2 and b.del_flag = 2 and zt = 2 
      and concat(a.name,a.xydm) like concat(‘%’,”,’%’)
      GROUP BY a.id
) company 
left join (
     SELECT company_id,(array_agg(id order by create_time desc ))[1] snapshot_id,
     (array_agg(name order by create_time desc ))[1]  as “companyName”,
     (array_agg(xydm order by create_time desc ))[1] xydm,
     (array_agg(fddbr order by create_time desc ))[1] fddbr
     from company_info_snapshot
     GROUP BY company_id
) snap on snap.company_id = company.id
left join personnel p on p.id = snap.fddbr
搜索
复制
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/275854.html
