想加一列,但是总是报错。

select  班组,sum1,sum2,sum2/sum1 as 比例 ,sum1-sum2  as  sum3


from (SELECT   The_group as 班组 , 


count(case when Q_state='质检通过' or Q_state='质检不通过' then The_group else null end)  as  sum1,


count(case when Q_state='质检通过' and  Q_number=1  then The_group else null end)  as  sum2 


FROM "JXS"."KUANDAI"  group  by  The_group  ) 


image.png


image.png

image.png

FineReport Elison_man 发布于 2019-9-18 16:40
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
孙一Lv4见习互助
发布于2019-9-18 16:45

select 的第四列里面是多了一半括号吗……

最佳回答
0
豆豆小可爱Lv5中级互助
发布于2019-9-18 16:47(编辑于 2019-9-18 16:48)

肯定不行啊,你sum3就是前一列通过计算得到的吗,不能用在计算里面,而且你多加了个括号,好像。


这么写试试看呢

SELECT A.*, 20+(SUM3-0.85)*20 AS SUM4


FROM (select  班组,sum1,sum2,sum2/sum1 as 比例 ,sum1-sum2  as  sum3


from (SELECT   The_group as 班组 , 


count(case when Q_state='质检通过' or Q_state='质检不通过' then The_group else null end)  as  sum1,


count(case when Q_state='质检通过' and  Q_number=1  then The_group else null end)  as  sum2 


FROM "JXS"."KUANDAI"  group  by  The_group  ) ) A


最佳回答
0
Luckin999Lv0见习互助
发布于2019-9-18 16:48

第三行   20  前面加上( 

试试?

最佳回答
0
langyunLv5初级互助
发布于2019-9-18 16:55

把第四列中的sum3改成(sum1-sum2),sum3 是个别名,库里没有

  • 5关注人数
  • 487浏览人数
  • 最后回答于:2019-9-18 16:55
    请选择关闭问题的原因
    确定 取消
    返回顶部