gpt4 book ai didi

MySQL 查询在多行中查找匹配项

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

我有两个表,Data(Name, dataID)Attributes(Name, attributeID, dataID) 具有一对多关系。一个dataID可能与多个attributeID相关联。

我想要做的是运行一个查询来查找具有一组特定 attributeID 的所有 dataID。我做不到:

SELECT dataID
FROM Attributes
WHERE dataID = 1 AND (attributeID = 1 OR attributeID = 2 OR attributeID = 3);

这将获取具有这些属性之一的所有 dataID,我想要具有所有这些属性的 dataID。

建议?

仍然使用非常基本的选择来进行查询。

最佳答案

由于您需要读取 Attributes 表的三个不同行,我建议使用 JOIN 来避免子查询。

SELECT a1.dataID
FROM
Attributes a1
JOIN Attributes a2 ON
a1.dataID=a2.dataID
JOIN Attributes a3 ON
a2.dataID=a3.dataID
WHERE
a1.dataID = 1 AND
a1.attributeID = 1 AND
a2.attributeID = 2 AND
a3.attributeID = 3;

关于MySQL 查询在多行中查找匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22238277/

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