ORACLE问题,问题描述见图

image.png

FineReport SQL 帆软用户04RR9GEYFP 发布于 2023-2-2 09:38
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-2-2 09:41
最佳回答
0
LTC朝Lv6高级互助
发布于2023-2-2 09:42(编辑于 2023-2-2 09:59)

select a.衬底码,a.检验时间,a.良率, b.检验时间,b.良率, c.检验时间,c.良率, d.检验时间,d.良率,

 from table_name a where 站点 = ‘1’

left join table_name b on b.衬底码 = a.衬底码 and 站点 = ‘2’

left join table_name c on c.衬底码 = a.衬底码 and 站点 = ‘3’

left join table_name d on d.衬底码 = a.衬底码 and 站点 = ‘4’

------------------------------------------------------------------------

注:将sql中的table_name全部替换为你的这个表名

最佳回答
0
帅帅的Lv6初级互助
发布于2023-2-2 10:41(编辑于 2023-2-2 10:42)

如果是固定的4个站点 ,完全可以使用 8个 case when ,然后group by实现

select  

衬底, 

max(case when 站点=1 then 时间 else '' end) 站点1时间,

max(case when 站点=1 then 值 else '' end) 站点1值,

max(case when 站点=2 then 时间 else '' end) 站点2时间,

max(case when 站点=2 then 值 else '' end) 站点2值

from table

group by 衬底

  • 2关注人数
  • 389浏览人数
  • 最后回答于:2023-2-2 10:42
    请选择关闭问题的原因
    确定 取消
    返回顶部