gpt4 book ai didi

mysql - 检索所有相关数据满足指定条件的行

转载 作者:可可西里 更新时间:2023-11-01 08:06:19 24 4
gpt4 key购买 nike

我有一个job 表和一个visit 表。一个工作可以有多次访问。我需要检索所有尚未设置为已付款的工作,并将与该工作相关的所有访问都设置为已完成。

所以基本上我只需要在以下情况下找工作:

  • 尚未付款(paid = 'N')
  • 所有与该工作相关的访问都设置为完成(status = 2)

显然,执行以下操作是行不通的,因为它将返回 job.paid = 'N' 和 visit.status = '2' 的任何结果:

SELECT * 
FROM job INNER JOIN visit
ON job.id = visit.job_id
WHERE job.paid = 'N' AND
visit.status = 2;

我可以检索结果,并运行额外的查询来检查作业的所有访问是否已完成,但我想知道是否可以在单个查询中检索数据?

最佳答案

更新 1

SELECT  a.ID  -- <<== add some columns here
FROM job a INNER JOIN visit b ON a.id = b.job_ID
WHERE a.paid = 'N'
GROUP BY a.ID
HAVING COUNT(DISTINCT b.Status) = 1 AND MAX(b.status) = 2

关于mysql - 检索所有相关数据满足指定条件的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16239279/

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