Rumah  >  Artikel  >  pangkalan data  >  仿 oracle 的decode效果查询_MySQL

仿 oracle 的decode效果查询_MySQL

WBOY
WBOYasal
2016-06-01 13:51:43932semak imbas

今天遇到群里发的一个问题,觉得有点意思,发上来看一下

仿 oracle 的decode效果查询_MySQL

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

#创建表如下<br>create temporary table tmp (a int, b int ,c int);<br>insert into tmp VALUES (1,10,1),(10,10,2),(10,100,2);<br>#mysql执行<br>select sum(case when c = '1' then A else B end) from tmp<br>#oracle执行<br>select sum(decode(c,'1',a,b)) from tmp<br>#普通联合查询<br>select sum(d) from <br>(<br>select a as d from tmp where c=1<br> union <br>select b as d  from tmp where c=2<br>)
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn