小编典典

选择属于多个类别的行

sql

我有2张桌子。第一个表充满了条目。第二张表定义了该条目所属的类别:

表格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)的条目。尽管我不太确定,但我认为这需要一个子查询。任何人有帮助吗?:)


阅读 243

收藏
2021-05-16

共1个答案

小编典典

试试这个:

select * from entity e
where exists (select * from category c where c.entry_id=e.entry_id AND c.cat_id=233)
  and exists (select * from category c where c.entry_id=e.entry_id AND c.cat_id=234)

这将返回 同时 属于233和234的行(无论如何,这就是我阅读您的问题的方式;我可能会误解了“属于多个类别”部分)。

2021-05-16