Mysql 返回在特定字段中没有值的记录
我有一个Jira系统,我们需要为它做一些用户清理。我正在讨论如何编写这个特定的查询。该表如下所示,其中CHILD_ID是用户名,PARENT_ID是组名Mysql 返回在特定字段中没有值的记录,mysql,Mysql,我有一个Jira系统,我们需要为它做一些用户清理。我正在讨论如何编写这个特定的查询。该表如下所示,其中CHILD_ID是用户名,PARENT_ID是组名 CHILD_ID | PARENT_ID ============================= Jane admins Jane users John users 因此,每个人都有多个记录;他们所属的每一组一人。我需要返回一个没有admin组记录的CHILD_ID值列表-因此
CHILD_ID | PARENT_ID
=============================
Jane admins
Jane users
John users
因此,每个人都有多个记录;他们所属的每一组一人。我需要返回一个没有admin组记录的CHILD_ID值列表-因此对于这个示例,我只想返回John
我已尝试从父id管理的\u表中选择子id,但仍会返回users组的Jane记录。我知道这是我以前做过的事情,但似乎不记得怎么做了,甚至不知道如何在谷歌搜索中找到这个词。您可以使用分组和条件聚合:
select child_id
from my_table
group by child_id
having count(case when parent_id = 'admins' then 1 end) = 0
如果我正确理解您的问题,您可以简单地使用in查询:
SELECT CHILD_ID FROM <your_table> WHERE CHILD_ID NOT IN (SELECT CHILD_ID FROM <your_table> WHERE PARENT_ID = 'admins');