作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
假设我有一个表在两个表之间建立连接...像这样:
id_product | id_category
-----------------
11 | 22
11 | 33
12 | 22
12 | 33
我想根据搜索到的类别 ID 列表获取 id_products(distinct)。
如果我使用 IN() 子句,则 id_categories 列表使用逻辑或。
如何进行 SELECT 查询以对提交的 id_categ 列表进行逻辑 AND?
示例:我想要所有属于类别 22 AND 33(可能还有 5+ 个类别 ID)的 id_products
我找到了这个答案: Using MySQL IN clause as all inclusive (AND instead of OR)...但是查询混合了多个表...我只想查询一个表,即联结表。
最佳答案
看了你的链接,我觉得应该是这样的
select id_product
from yourTable
where id_category in (--your List goes Here)
group by id_product
having count(distinct id_category) = NumberOfElementsOfYourList
如果只想获取该 id_category,而不是其他 id_category,则应使用 =。如果不是,则使用 >=
关于IN() 子句的 mysql 等价物使用逻辑 AND 代替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11976559/
我是一名优秀的程序员,十分优秀!