2016-09-21 84 views
2

我有一個我們需要爲某個用戶進行清理的Jira系統。我對如何編寫這個特定的查詢非常感興趣。問題表看起來像這樣,其中CHILD_ID是用戶名,PARENT_ID是組名。返回在某個字段中沒有值的記錄

CHILD_ID | PARENT_ID 
============================= 
Jane   admins 
Jane   users 
John   users 

所以每個人有多個記錄;一個用於他們所屬的每個組。我需要返回一個CHILD_ID值列表,不是有一個管理組的記錄 - 所以對於這個例子,我只想返回John。我試過select child_id from my_table where parent_id <> admins,但仍然返回用戶組的Jane記錄。我知道這是我以前做過的事情,但似乎無法記住如何,甚至無法弄清楚如何爲此搜索谷歌搜索。

回答

1

如果我理解你的問題的權利,你可以簡單地使用查詢:

SELECT CHILD_ID FROM <your_table> WHERE CHILD_ID NOT IN (SELECT CHILD_ID FROM <your_table> WHERE PARENT_ID = 'admins'); 
1

您可以使用分組和條件彙總:

select child_id 
from my_table 
group by child_id 
having count(case when parent_id = 'admins' then 1 end) = 0 
相關問題