ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

pgsql或取最新的一条数据

2022-07-21 10:03:06  阅读:51  来源: 互联网

标签:join agg company when pgsql 最新 或取 snap id


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

搜索

复制

标签:join,agg,company,when,pgsql,最新,或取,snap,id
来源: https://www.cnblogs.com/myself1012/p/16500847.html

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有