簡體   English   中英

返回某個字段中沒有值的記錄

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM