复杂的decode()函数

select tt.ttid,tt.targettrain,DATE_FORMAT(tt.datecreated,'%Y-%m-%d %H:%i') datecreated,

ifnull(ttcount,0) ttcount,ifnull(joincount,0) joincount,ifnull(passcount,0) passcount,


round(     ifnull(joincount,0)*100/(    case ifnull(ttcount,0) when 0 then 1000 else ifnull(ttcount,0) end    )     ,2        ) cyl,

 

round(ifnull(passcount,0)*100/

 

( case ifnull(joincount,0) when 0 then 1000 else ifnull(joincount,0) end ),2) dbl 

 

 

from tbTargetTrain tt left join (select ttid,count(*) ttcount from VTTUSER01 group by ttid) a on tt.ttid=a.ttid

left join (select ttid,count(*) joincount,sum(case FinishedMode when 1 then 1 else 0 end ) passcount from tbTTGrade group by TTID) b on a.ttid=b.ttid

where tt.targettype=0 and tt.ttid=41;

 

 

 #decode(  ifnull(ttcount,0),0,10000,ifnull(ttcount,0)  ) case ifnull(ttcount,0) when 0 then 1000 else ifnull(ttcount,0) end
#sum(case FinishedMode when 1 then 1 else 0) sum(decode(FinishedMode,1,1,0))

你可能感兴趣的:(decode)