怎么求任务量和任务占比字段乘积的值,部分sql如下

(效果希望当我的customvalue为极小型时用1*各占比的值)

SELECT p.pname, i.SUMMARY,

(case D.customvalue

WHEN '极小型' THEN '1'

WHEN '小型' THEN '2'

WHEN '中型' THEN '5'

WHEN '大型' THEN '10'

WHEN '超大型' THEN '20'

ELSE D.customvalue

END

) as 任务数,D.customvalue,  

ci.OLDSTRING, (case ci.OLDSTRING

WHEN '功能组长验收' THEN '0.94'

WHEN '产品验收交互' THEN '0.9'

WHEN '团队评审' THEN '0.8'

WHEN '产品验收视觉审' THEN '0.75'

WHEN '开发评审' THEN '0.7'

WHEN '测试用例审核' THEN '0.65'

WHEN '研发组员问题解决中' THEN '0.5'

WHEN '测试组员测试验收中' THEN '0.25'

WHEN '交互验收' THEN '0.19'

WHEN '功能验收' THEN '0.15'

WHEN '视觉产品验收' THEN '0.1'

WHEN '产品负责人最终确认' THEN '0'

ELSE NULL

END

)as 任务占比, ci.NEWSTRING FROM changegroup cg


FineReport Childe 发布于 2019-9-5 17:01 (编辑于 2019-9-5 17:08)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
张洪威Lv6高级互助
发布于2019-9-5 17:05(编辑于 2019-9-5 17:06)


外面嵌套一层,就可以用case when的字段了。


select aa.* ,aa.任务数*aa.任务占比 from

(SELECT p.pname, i.SUMMARY,

(case D.customvalue

WHEN '极小型' THEN '1'

WHEN '小型' THEN '2'

WHEN '中型' THEN '5'

WHEN '大型' THEN '10'

WHEN '超大型' THEN '20'

ELSE D.customvalue

END

) as 任务数,D.customvalue,  

ci.OLDSTRING, (case ci.OLDSTRING

WHEN '功能组长验收' THEN '0.94'

WHEN '产品验收交互' THEN '0.9'

WHEN '团队评审' THEN '0.8'

WHEN '产品验收视觉审' THEN '0.75'

WHEN '开发评审' THEN '0.7'

WHEN '测试用例审核' THEN '0.65'

WHEN '研发组员问题解决中' THEN '0.5'

WHEN '测试组员测试验收中' THEN '0.25'

WHEN '交互验收' THEN '0.19'

WHEN '功能验收' THEN '0.15'

WHEN '视觉产品验收' THEN '0.1'

WHEN '产品负责人最终确认' THEN '0'

ELSE NULL

END

)as 任务占比, ci.NEWSTRING FROM changegroup cg) as aa


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