2016-08-24 66 views
0

我有2個數據庫表,一個包含用戶信息,另一個包含正在執行的特定公司角色。顯示PK選擇語句在另一個表中未引用時的結果

一些包含在這些數據庫中的字段的如下:

表1:UserInformation Username, name, surname, RoleID (FK Reference to Table2) etc

表2:RoleInformation ID (PK and ref from Table 1 RoleID), RoleName etc

程序:

我有一個下拉列表,我在填充SQL查詢的結果。 我寫的程序將被HR用來將未使用的公司角色分配給選定的公司用戶,以啓動公司內的其他流程。

到目前爲止,我還沒有經驗,只有SQL能夠寫入比超長插入語句複雜得多一點lol 有人可以幫助我構建一個SQL查詢,返回當前未分配給用戶的角色。

僞代碼:

select RoleName 
from Table2 
where the ID is not referenced/used in Table1 

我希望我正確地描述的場景...

在此先感謝!

回答

0

我認爲你正在尋找NOT EXISTSNOT IN

select RoleName 
    from Table2 t2 
    where not exists (select 1 
         from Table1 t1 
        where t1.RoleID = t2.RoleInformationID); 
0

您可以使用子查詢和IN操作符,是這樣的:

select RoleName from Table2 where RoleInformationID not in (select distinct(RoleID) from Table1) 
+0

這個工程就像一個魅力,謝謝你的幫幫我! – Tiaan

相關問題