關於sql語句中where條件內添加case when的問題

背景:數據庫用的Oracle;

報表用的是【FineReport】,之前沒用過,被臨時授命解決問題,所以大概瞭解了一下。裏面應該是集成了excel插件,報表樣式如下:

今天在項目中遇到一個這樣的場景:

A爲彙總頁面,顯示的是按醫院分組統計出來的一些數據,效果如下圖

圖中每一列都能下鑽到另一個頁面,醫院名稱和起始時間都作爲參數傳送。

前期因爲某一些需求,有一家醫院出現了兩個不同的名稱,所以將其中一個名稱的數據統計到了另一個名稱下。而【檢查數】這一列下鑽後的數據,恰恰是被合併的名稱下的數據,所以下鑽後就查不到數據了。

跟實施那邊反饋後,他們給出了一箇中轉方案:下鑽到一個臨時頁面,在頁面中顯示一個被合併名稱的超鏈接,再下鑽一層就能查出數據了。

但我覺得這樣的客戶體驗不好,所以想到了能不能在where中增加case when。所以在網上查了一下,果然是可行的。所以就將下鑽後的查詢條件修改成了下圖這樣:

之前的條件爲:study.HospitalName='${xxxx}'。

這裏記錄一下,爲以後需要的同行鋪一下路。也記錄一下解決問題的過程,幫助自己留下印象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章