弱弱的问一下
oracle能不能在查询出来的同时,对查询结果做计算?

解决方案 »

  1.   

    select a ,b ,a/b from A 对吗?
      

  2.   

    select nvl(tol,0) total_num ,nvl(actual,0) actual_num ,actual_num/total_num from A  为什么会提示total_num,actual_num标志符无效换成
    select nvl(tol,0) total_num ,nvl(actual,0) actual_num ,nvl(actual,0)/nvl(tol,0) from A 
    又提示nvl无效?
      

  3.   

    换成
    select nvl(tol,0) total_num ,nvl(actual,0) actual_num ,nvl(actual,0)/nvl(tol,0) from A  
    又提示无效数字?
      

  4.   

    select nvl(tol,0) total_num ,nvl(actual,0) actual_num ,nvl(actual,0)/nvl(tol,0) from A 无效数字是因为红色部分有可能是0,任何数都不能除以0
      

  5.   

    用decode判断过select nvl(tol,0) total_num ,nvl(actual,0) actual_num ,
    decode(nvl(G.Tol,0),0,0,round(actual_num/vote_num,2)||'%')
     from A
      

  6.   

    select nvl(tol,0) total_num ,nvl(actual,0) actual_num ,
    decode(nvl(Tol,0),0,0,round(actual_num/vote_num,2)||'%')
     from A
    ||'%'要放到decode外面才行,因为decode返回的值类型要一致. 
    actual_num/vote_num不能在同一层使用别名,想用的话要再套一层selectselect nvl(tol,0) total_num ,nvl(actual,0) actual_num ,
    decode(nvl(Tol,0),0,0,round(nvl(actual,0)/nvl(tol,0),2))||'%'
     from A
      

  7.   

    ||'%'要放到decode外面才行,因为decode返回的值类型要一致.  
    actual_num/vote_num不能在同一层使用别名,想用的话要再套一层select