gpt4 book ai didi

MySQL 查询连接的唯一结果

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

努力寻找正确的答案,希望有人能提供帮助。它可能太简单了,以至于我忽略了一些明显的东西,使它变得比我应该做的更难。我有两个表 - 标题 [包括 titleIDs 和 titleNames],以及组 [包括 groupIDs 及其相关联的标题 ID]。一个 titleID 可以附加多个 groupID。

我正在尝试编写一个查询,以返回与已选择的 groupID 条件匹配的 TitleID 结果。

我试过了

SELECT * FROM titles INNER JOIN groups ON titles.titleID = groups.titleID WHERE
groups.groupID = 6 AND
groups.groupID = 24 AND
groups.groupID = 53

所以我只想返回仅与所有这些组 ID 关联的标题的结果。这些数字实际上将被某人从几个复选框中选择的内容所取代,但出于本示例的目的已将它们硬编码。

我尝试使用子查询进行试验,但我无法让它工作,而且我相信 Subs 可以减慢速度,而且我已经要处理大量数据了。

计划是让某人从列表中选择一个或多个 groupID,然后仅返回与所有所选 GroupsID 关联的 Titles 结果。

非常欢迎任何关于此的指示、线索和建议。谢谢

最佳答案

您可以通过使用 in() 作为组 ID 并匹配每个标题的不同组的计数来实现,如果提供了 3 个组 ID,则每个标题组的计数必须为 3,因此标题恰好有这 3 组的将被返回

SELECT * FROM titles t
INNER JOIN groups g ON t.titleID = g.titleID
WHERE g.groupID IN(6,24,53)
GROUP BY t.titleID
HAVING COUNT(DISTINCT g.groupID) = 3

关于MySQL 查询连接的唯一结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23911239/

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