我有两个表一个是父表一个是子表。
当父表的状态等于0时,子表的状态不等于0时,并且仅当其不等于0时,我需要从父表中获取id
例如,表格如下所示:
父表
id , status
--------------------
1 , 0
2 , 0
子表
id , parent_id, status
------------------------
1 , 2 , 2
2 , 2 , 1
3 , 2 , 1
我需要得到的是父表的id,并且仅当子表status的状态不为0时
这就是我所尝试的:
SELECT a.id FROM `parent_table` a inner join child_table b where b.status !=0 and a.status = 0 and a.id = b.parent_id
我需要的结果是:来自父表的id 2
谢谢你的帮助
1条答案
按热度按时间oyxsuwqo1#
您可以联接这两个表,按父id聚合,并使用
having
子句以筛选出其任何子女具有身份的父母0
:实际上,您可以直接从子表得到相同的结果: