2016-09-29 61 views
0

我有三個clumns和三個數據記錄的Oracle表如下所示如何在以下情況下創建Oracle SQL語句?

ID FIRST_NAME LAST_NAME  
01  Jason  Martin  
02  Alison  Mathews  
03  Robert  Black  

我想通過一個給定的ID來選擇名字。

如果ID存在,即它是01,02和03中的值,則需要顯示對應的FIRST_NAME;

如果ID不存在,則需要顯示*符號。 你能幫我創建一個這樣的oracle SQL語句嗎?

非常感謝提前。

+0

如果什麼有更多的數據記錄,或者如果我需要通過多個字段的組合選擇名字? – Learner

+0

如果您有不同的情況需要處理,請編輯您的問題,以顯示樣本數據和期望的結果 – Aleksej

回答

0

使用CASE聲明:

SELECT ID, 
     CASE WHEN ID IN ('01', '02', '03') THEN FIRST_NAME ELSE '*' END 
FROM yourTable 

注:我以爲,基於輸入數據,該IDVARCHAR而不是數字,因爲前導零。使用

SELECT ID, 
     CASE WHEN ID IN (1, 2, 3) THEN FIRST_NAME ELSE '*' END 
FROM yourTable 
2

做外連接時,這個例子ID = 2:如果ID是數字,那麼查詢更改爲此

select coalesce(FIRST_NAME, '*') 
from dual 
left join tablename on id = 2 
+0

非常感謝您的意見。看來您的解決方案可以用於各種情況。 – Learner

相關問題