gpt4 book ai didi

mysql - SQL:当且仅当子项具有特定属性时获取父项

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

我有一个 Assets 表,资源表中可以有一个或多个资源。

我想返回所有资源状态为“1”或根本没有的 Assets 。

到目前为止我有这个:

SELECT id FROM asset A JOIN resource R ON A.id = R.asset_id WHERE R.status = '1'. 

如果我得到一条记录,我怎么知道这是该 Assets 拥有的所有资源(即它不是一个子集)

(此数据是捏造的,我的真实查询有点复杂)。

我知道这是一个连接查询,但不知道怎么做。

感谢您的帮助,

编辑:标题有点误导。我的意思是说所有* child 都有一定的属性(property)。

最佳答案

使用 NOT EXISTS 子句,如下所示:

SELECT id 
FROM asset A
INNER JOIN resource R ON A.id = R.asset_id
WHERE NOT EXISTS (
/* Only return results if the asset has resources of all status = '1' */
SELECT 1
FROM Resources R2
WHERE A.asset_id = R2.asset_id
AND R2.status <> '1'
)

关于mysql - SQL:当且仅当子项具有特定属性时获取父项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19507074/

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