gpt4 book ai didi

mysql - 选择没有特定值(value) child 的 parent

转载 作者:行者123 更新时间:2023-11-29 16:01:46 24 4
gpt4 key购买 nike

假设我们有两个表: parent (id INT)和 child (parent_id INT,优先级 INT)

我们有 3 个 parent 及其 child :

Parent_1 (id: 1) with Child_1 (priority: 1)

Parent_2 (id: 2) with Child_2 (priority: null)

Parent_3 (id: 3) with Child_3 (priority: 1) and Child_4 (priority: null)

我尝试过使用这个 SQL:

SELECT `parents`.* FROM `parents` LEFT OUTER JOIN `childs` ON `childs`.`parent_id` = `parent`.`id` WHERE `parents`.`id` IN (1, 2, 3) AND (childs.priority != 1 OR childs.priority IS NULL)

因此,我希望结果仅选择 Parent_2,因为此处适用对 childs.priority != 1 的检查,并且此处也适用 childs.priority IS NULL 的检查,但是它还输出 Parent_3,因为 Child_4 通过了 childs.priority IS NULL 检查,但它不应该显示,因为 Child_3 没有通过 childs.priority != 1 此检查

最佳答案

尝试这样的事情:

SELECT *
FROM `parents`
WHERE `id` IN ( 1, 2, 3 )
AND `id` NOT IN ( SELECT DISTINCT `parent_id` FROM `childs` WHERE `childs`.`priority` = 1 )

首先选择priority值为1的 child 的 parent ID。然后选择ID不在列表中的 parent ...

关于mysql - 选择没有特定值(value) child 的 parent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56131752/

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