gpt4 book ai didi

php - 尝试从 mysql 中选择行然后在同一个选择中查看值是否存在

转载 作者:行者123 更新时间:2023-11-29 03:04:00 25 4
gpt4 key购买 nike

大家好,我有一个名为 page_names 的数据库表,用于保存导航中的页面。在该表中,我有 parentid,当它是主导航时,它是 0,如果它有一个数字,那么它是该父级的子级。

我需要从表中选择所有行(where ispublished = 1)但是我需要在数据集中有另一个标识符称为“haschild”,它将被设置为 0 或一个数字表示该导航页面有子页面。我考虑过在 php 中使用数组来执行此操作,但意识到拥有该集合会更好。

我尝试加入同一个表来设置值并选择一个选择语句,但我似乎无法实现我需要的。这似乎是一件很容易的事情,但我被困住了。这就是我所在的位置,我知道它离我还差得很远。

    SELECT p.* , coalesce( pp.parentid, 0 ) AS haschild
FROM page_names p
LEFT JOIN page_names pp ON p.id = pp.parentid
WHERE p.ispublished =1
AND pp.ispublished =1
ORDER BY p.orderout

最佳答案

在这里,我提出了一个选择。

SELECT p.*,
(SELECT COUNT(id) FROM page_names WHERE parentid=p.id AND ispublished =1) haschild
FROM page_names p
WHERE p.ispublished =1
ORDER BY p.orderout

在字段 haschild 中,您有记录中的 child 数量。

http://sqlfiddle.com/#!2/326ab/10

关于php - 尝试从 mysql 中选择行然后在同一个选择中查看值是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18641648/

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