Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 返回在特定字段中没有值的记录_Mysql - Fatal编程技术网

Mysql 返回在特定字段中没有值的记录

Mysql 返回在特定字段中没有值的记录,mysql,Mysql,我有一个Jira系统,我们需要为它做一些用户清理。我正在讨论如何编写这个特定的查询。该表如下所示,其中CHILD_ID是用户名,PARENT_ID是组名 CHILD_ID | PARENT_ID ============================= Jane admins Jane users John users 因此,每个人都有多个记录;他们所属的每一组一人。我需要返回一个没有admin组记录的CHILD_ID值列表-因此

我有一个Jira系统,我们需要为它做一些用户清理。我正在讨论如何编写这个特定的查询。该表如下所示,其中CHILD_ID是用户名,PARENT_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');