2016-09-21 67 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 
相关问题