gpt4 book ai didi

mysql - 选择属于多个类别的行

转载 作者:行者123 更新时间:2023-11-29 03:50:09 24 4
gpt4 key购买 nike

我有 2 张 table 。第一个表充满了条目。第二个表定义了该条目属于什么类别:

表 1:

entry_id | title
1 | Entry1
2 | Entry2
3 | Entry3

表2

entry_id | cat_id
1 | 233
1 | 234
1 | 678
2 | 235
2 | 453
2 | 21
3 | 234
3 | 233

我正在尝试通过对属于多个类别的所有帖子的单个查询来选择一个条目。例如,我想返回属于类别 ID 233 和 234 的条目。我相信这需要一个子查询,尽管我不太确定。有什么帮助吗? :)

最佳答案

了解 SQL joins .

SELECT * FROM tbl1 JOIN tbl2 USING (entry_id) WHERE cat_id IN (233,234);

查看 sqlfiddle .


更新

要选择两个 类别中的所有条目,您可以对联接结果进行分组,并仅选择包含两个类别的那些组:

SELECT   tbl1.*
FROM tbl1 JOIN tbl2 USING (entry_id)
WHERE cat_id IN (233,234)
GROUP BY entry_id
HAVING COUNT(DISTINCT cat_id) = 2

查看 sqlfiddle .

COUNT(DISTINCT cat_id) 显然可以替换为(更便宜的)COUNT(*) if (entry_id, cat_id) 已知在 tbl2 中是唯一的。

关于mysql - 选择属于多个类别的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264264/

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