2013-03-19 40 views
0

我有位置的詳細信息的表格: -問題與如何使用存在PL/SQL查詢,不存在

Location id Manager Name    SubFunction  
    1    HR  XYZ    direct sales  
    2    IT  ABC    Gaming   
    3   HR  DEC    Agent  

Location id Lookupcode 
1   123 
2   126 
3   231 
4   222 

Subfuction_table細節: -

Lookup code Subfunction 
123   Agent 
126   Gaming 
222   Customer services 

基本上,我有兩個表一個具有功能的位置,子功能定義爲 ,另一個具有子功能表,子功能表具有在位置表中使用的子功能名稱。

現在我必須編寫一個PL/SQL查詢,以便位置表中不存在的所有這些函數只顯示具有「HR」的管理器。我曾嘗試下面的查詢: -

select Subfuntion 
from subfunction_table 
where exists      //Part a 
(select null 
from subfunction_table 

) 
and not exists 
(select null     // Partb 
from 
location 
where manger='HR') 

例如: - 在子功能表上表中有「客戶服務」,這是在subfuncn表,但不是在位置,以便查詢應顯示子功能「客戶服務」

,但我沒有得到邏輯如何使用子功能名稱從部分中b部分

+1

因此,您使用的是SQL Server,但語言是PLSQL而不是T-SQL? – Lamak 2013-03-19 17:39:09

+0

錯誤的標籤..我糾正它..我使用SQL開發人員 – user2187584 2013-03-19 17:43:54

+1

功能「不在地點」表中來自哪裏? – 2013-03-19 17:52:57

回答

0
SELECT * 
    FROM subfunction sf 
WHERE NOT EXISTS (SELECT 1 
        FROM function f JOIN location l USING (locationid) 
        WHERE l.manager = 'HR'); 

我這個,你在找什麼?這是我從你的問題中理解的。