怎么采用mysql实现oracle的decode()函数的来解决一个查询有关问题?

如何采用mysql实现oracle的decode()函数的来解决一个查询问题??急!急!

我在oracle里写了如下一个查询统计语句,那位能帮我用mysql实现一下,谢谢了,oracle的sql语句如下:

select t.serv_id,

  sum(decode(t.acct_item_type_id,

  11000,

  t.charge,

  11002,

  t.charge,

  0)) 分摊信息费,

  sum(decode(t.acct_item_type_id, 11003, t.charge, 0)) 初装费,

  sum(decode(t.acct_item_type_id, 11004, t.charge, 0)) 移机费,

  sum(decode(t.acct_item_type_id,

  11007,

  t.charge,

  20020,

  t.charge,

  20021,

  t.charge,

  0)) 开通费,

  sum(decode(t.acct_item_type_id, 11010, t.charge, 0)) 过户费,

  sum(decode(t.acct_item_type_id, 10030, t.charge, 0)) 配件扣费,

  sum(decode(t.acct_item_type_id, 10031, t.charge, 0)) 购猫费

  from acct_item t

  where t.billing_cycle_id = ‘2009080101’

  and t.state = ’20D’

  group by t.serv_id



or

case t.acct_item_type_id

when 11003 then t.charge

else 0 end




sum(

case t.acct_item_type_id

decode(t.acct_item_type_id, 

when 11000 then t.charge

when 11002 then t.charge

else 0 end) 分摊信息费,



SQL code

select t.serv_id, 
                    sum(case t.acct_item_type_id when 11000 then t.charge when 11002 then t.charge else 0 end) 分摊信息费, 
                    sum(case t.acct_item_type_id when 11003 then t.charge else 0 end) 初装费, 
                    sum(case t.acct_item_type_id when 11004 then t.charge else 0 end) 移机费, 
                    sum(case t.acct_item_type_id when 11007 then t.charge when 20020 then t.charge when 20021 then t.charge else 0 end) 开通费, 
                    sum(case t.acct_item_type_id when 11010 then t.charge else 0 end) 过户费, 
                    sum(case t.acct_item_type_id when 10030 then t.charge else 0 end) 配件扣费, 
                    sum(case t.acct_item_type_id when 10031 then t.charge else 0 end) 购猫费 
                  from acct_item t 
                where t.billing_cycle_id = '2009080101' 
                  and t.state = '20D' 
                group by t.serv_id


decode 换成

IF()
或者
CASE WHEN

详细用法你可以参考一下MYSQL的文档。
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
怎么采用mysql实现oracle的decode()函数的来解决一个查询有关问题?

相关文章:

你感兴趣的文章:

标签云: