gpt4 book ai didi

mysql - 检查数据库以查看某个字段是否已存在

转载 作者:行者123 更新时间:2023-11-29 20:57:20 29 4
gpt4 key购买 nike

我有一个 SQL 查询,试图查找状态不等于 DEL 的作业。作业可以有多种状态,例如,像这样的作业:

enter image description here

因此,我尝试创建一个查询来查找不包含 DEL 状态的职位。

select j.*
from job_new j
left join jobstat js on js.jobid=j.id
where js.Status NOT IN('DEL')
Group by j.ID

但此查询仍然返回具有 DEL 状态的作业。我需要查询来查看 jobstat 表中的每一行并检查 DEL 是否存在。

最佳答案

问题是您对同一份工作有多个状态。这就是为什么 Status not in('DEL') 将显示 status != 'DEL' 的所有行,而不考虑同一作业中 status='DEL' 的其他行。

这应该适用于您:

select j.*
from job_new j
left join (select jobid, sum(if(Status='DEL',1,0)) as DEL from jobstat group by jobid having DEL=0) as js on js.jobid=j.id
Group by j.ID

我们加入从 jobstat 中准备好的选择,该选择仅包含 jobstat 中任何行中没有 Status='DEL' 的作业。

关于mysql - 检查数据库以查看某个字段是否已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37522980/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com