MySQL - 如何选择所有子项状态为 ('A' ,'B' )的记录?

标签 mysql

对于我的问题,我有 2 张 table 。

tb1 名称 案例
tb2 姓名 电话

我必须选择所有调用都包含 ('A','B') 状态的情况

示例:

案例 A 有 3 个调用。
调用 A.1 的状态为 A
调用 A.2 的状态为 A
调用 A.3 的状态为 B

案例 B 有 3 个调用。
调用 B.1 具有状态 A
调用 B.2 的状态为 B
调用 B.3 的状态为 C

因此,查询应该返回 Case A,因为在 Case A 中所有调用状态都在 ('A','B')

我的查询返回所有包含调用状态的案例记录,不仅包含 A 和 B,还包含 C。这是不正确的

select  c.id
from cases c join calls ca on (ca.parent_id = c.id and ca.parent_type = 'Cases') 
where c.status <> 'Closed' 
and ca.status in ('A','B')   
group by c.id

你能帮我一下吗?
谢谢,
五月

最佳答案

select cs.*
from cases cs
join calls cl on cl.caseId = cs.title and cl.status in ('A', 'B');

关于MySQL - 如何选择所有子项状态为 ('A' ,'B' )的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35077295/

相关文章:

php - 为什么 GROUP_CONCAT 在 1 列中使用时添加逗号分隔,但在使用多列时则不添加逗号分隔?

mysql - Group by 仅返回一行

mysql - 从同一张表中选择计数

python - 在远程桌面连接上使用 pip 安装 mysqldb

mysql - 无法将 Bignum 转换为字符串

java - 如何使用 JUnit 在 H2 数据库中使用 "on update CURRENT_TIMESTAMP"?

mysql - Perl DBI 无法找出要使用的驱动程序

mysql - 限制数据库表仅包含一条 future 日期记录

mysql - 每个父级的内部连接限制

MySQL ORDER BY DESC 很快,但 ASC 很慢