gpt4 book ai didi

Mysql检查一次查询中行是否有子记录

转载 作者:行者123 更新时间:2023-11-30 21:26:15 29 4
gpt4 key购买 nike

你好,这是我的表结构

enter image description here

我正在尝试确定 ID 为 1 的记录是否有子记录(parent_id 列),这应该适用于所有记录,而不仅仅是特定的记录

尝试这样的事情

SELECT id, ??? as 'has_child_rows' FROM image_tree WHERE parent_id IS NULL

还有关于连接、递归、子查询的想法吗?

最佳答案

您可以使用 exists 和内联相关子查询:

select 
id,
exists(select 1 from image_tree t1 where t1.parent_id = t.id) has_child_rows
from image_tree t

这将返回表中的所有行,并带有一个 bool 值,指示是否存在子记录。

要过滤具有 id = 1 的记录,只需添加一个 where 子句:

select 
id,
exists(select 1 from image_tree t1 where t1.parent_id = t.id) has_child_rows
from image_tree t
where id = 1

关于Mysql检查一次查询中行是否有子记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58886824/

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