Oracle條件分支查詢


  Oracle的條件分支查詢其實跟java的條件分支語法沒啥太大的區別,只不過java多了一個switch關鍵字而已。看例子:

SQL> SELECT CASE WHEN SUM(t1.TOTALTICKET) is null THEN 0 ELSE SUM(t1.TOTALTICKET) END  totalTicket
  2  FROM T_WLF_CUSTOM_RECORD t1 WHERE t1.ACTIVITYID=4001
  3  AND t1.INVITERMSISDN='16682318566';
 
TOTALTICKET
-----------
      10086

  這里針對金額的累計和做了一個處理,如果總數取到的是null,則轉為0,否則按原總數返回。當然這段邏輯也可以在代碼里寫。我們再看一個例子:

SQL> select LASTMODIFYER,count(CASE WHEN type=1 THEN 1 ELSE null END) 邀請人黑名單, count(CASE WHEN type=2 THEN 1 ELSE null END) 排行榜黑名單 from t_wlf_blacklist where hasdelete is null group by LASTMODIFYER;
 
LASTMODIFYER           邀請人黑名單       排行榜黑名單
---------------- ------------ ------------
admin02                     1            0
admin01                  9888          132

  上面的查詢可以減少我們一次select操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM