mysql仿oracle的decode效果查询

风哥Oracle教程 2019-04-03

mysql仿oracle的decode效果查询

以下代码在MYSQL中测试通过,MSSQL应该能跑通,未测试。

代码如下:

#创建表如下 
create temporary table tmp (a int, b int ,c int); 
insert into tmp VALUES (1,10,1),(10,10,2),(10,100,2); 
#mysql执行 
select sum(case when c = '1' then A else B end) from tmp 
#oracle执行 
select sum(decode(c,'1',a,b)) from tmp 
#普通联合查询 
select sum(d) from 
( 
select a as d from tmp where c=1 
union 
select b as d from tmp where c=2 
)

相关推荐