我有一个表,它是内容ID和类别ID的索引。内容和类别之间存在1:多关系,因此每个内容ID都有多行。
我需要根据以下条件搜索内容: - 内容包含类别ID列表-1中的所有类别 - 内容在类别ID的列表-2中包含任何类别ID - 内容包含类别ID列表3中的NONE类别
我不确定是否应该为ALL条件使用连接,对于ANY和NONE条件使用LEFT JOINS,拒绝任何NONE术语值不为空的行,或者是否有更好的方法来执行此操作。
答案 0 :(得分:0)
我知道你应该在这种情况下使用UNION
,如
select * from content_table
where content in (list-1 of category IDs)
UNION
select * from content_table
where content in (list-2 of category IDs)
UNION
select * from content_table
where content not in (list-3 of category IDs);