2014-10-30 78 views
-2

獲得價值我有2個表需要幫助從Oracle表

表1

Name  City 
-------------------- 
Deep  Delhi 
Manu  Atlanta 
Raju  PanamaCity 

表2

City 
----- 
Delhi 

我想補充的結果稱爲 「國家」 的另一列所以最後的結果會像

​​

因此,如果第一臺城市列的值匹配,則新列的值應該「已知」

+0

歡迎堆棧溢出。請花點時間查看關於如何在這裏提出一個好問題的所有信息 - 您目前的問題不符合指南,並且如果您不修復問題,很快就會關閉。 http://stackoverflow.com/help和http://meta.stackexchange.com/questions/10811/how-do-i-ask-and-answer-homework-questions將有所幫助。 – GreenAsJade 2014-10-30 20:26:58

回答

0

Joins和case語句讀了

SELECT t1.name, 
    t2.city, 
    case t2.city is NULL then 'Unknown' else 'Known' end as Country 
FROM table1 t1 
LEFT JOIN table2 t2 
on t1.city = t2.city 

樣機:

Select t1.name, 
    t1.city, 
    case when t2.city is NULL then 'Unknown' else 'Known' end as Country 
FROM (
    select 'Deep' as Name, 'Dehli' as city from dual UNION 
    select 'Manu' as Name, 'Atlanta' as city from dual UNION 
    select 'Raju' as Name, 'PanamaCity' as city from dual) t1 
LEFT JOIN 
(select 'Dehli' as city from dual) 
    t2 
    on t1.city=t2.city 

results in: 
Name City  Country 
Deep Dehli  Known 
Manu Atlanta  Unknown 
Raju PanamaCity Unknown 
+0

非常感謝您的幫助。它和我想要做的完全一樣。 – Deep 2014-10-31 13:15:55