[英]Return records that do not have a value in a certain field
我有一個 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 記錄。 我知道這是我以前做過的事情,但似乎不記得是怎么做的,甚至不知道如何用谷歌搜索來搜索這個。
您可以使用分組和條件聚合:
select child_id
from my_table
group by child_id
having count(case when parent_id = 'admins' then 1 end) = 0
如果我理解你的問題是正確的,你可以簡單地使用查詢:
SELECT CHILD_ID FROM <your_table> WHERE CHILD_ID NOT IN (SELECT CHILD_ID FROM <your_table> WHERE PARENT_ID = 'admins');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.