You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于productId和categoryId执行IN条件查询?

基于productId和categoryId的IN条件查询实现方法

针对你提供的优惠活动数据(categoryId和productId为数组类型),以下是不同技术场景下的IN条件查询实现方案:


一、关系型数据库(MySQL/PostgreSQL等)SQL查询

根据业务需求,分为两种常见查询逻辑:

1. 匹配categoryId或productId的任意值

查询满足任一ID数组条件的记录:

SELECT * 
FROM offers 
WHERE categoryId IN ('62de9b22dcafd44290ab03c1', '62dfe695ec4d69cfeab0265d') 
   OR productId IN ('633170230e88e2d859d15ee6', '62de9d102b2b72f80eda7585', '62de9d1e2b2b72f80eda7588');

2. 同时匹配categoryId和productId的对应值

查询同时满足两个ID数组条件的记录:

SELECT * 
FROM offers 
WHERE categoryId IN ('62de9b22dcafd44290ab03c1', '62dfe695ec4d69cfeab0265d') 
  AND productId IN ('633170230e88e2d859d15ee6', '62de9d102b2b72f80eda7585', '62de9d1e2b2b72f80eda7588');

二、MyBatis框架实现

如果使用MyBatis作为持久层框架,可通过以下方式实现动态IN查询:

1. XML映射文件方式

<select id="getOffersByIds" resultType="com.your.pojo.Offer">
    SELECT * FROM offers
    WHERE categoryId IN 
    <foreach collection="categoryIds" item="id" open="(" separator="," close=")">
        #{id}
    </foreach>
    AND productId IN 
    <foreach collection="productIds" item="id" open="(" separator="," close=")">
        #{id}
    </foreach>
</select>

2. 注解方式

@Select("SELECT * FROM offers WHERE categoryId IN (#{categoryIds}) AND productId IN (#{productIds})")
List<Offer> getOffersByIds(
    @Param("categoryIds") List<String> categoryIds, 
    @Param("productIds") List<String> productIds
);

三、MongoDB查询(NoSQL场景)

针对MongoDB文档型数据库,使用查询文档实现IN条件匹配:

1. 匹配categoryId或productId的任意值

db.offers.find({
  $or: [
    { categoryId: { $in: ["62de9b22dcafd44290ab03c1", "62dfe695ec4d69cfeab0265d"] } },
    { productId: { $in: ["633170230e88e2d859d15ee6", "62de9d102b2b72f80eda7585", "62de9d1e2b2b72f80eda7588"] } }
  ]
})

2. 同时匹配categoryId和productId的对应值

db.offers.find({
  categoryId: { $in: ["62de9b22dcafd44290ab03c1", "62dfe695ec4d69cfeab0265d"] },
  productId: { $in: ["633170230e88e2d859d15ee6", "62de9d102b2b72f80eda7585", "62de9d1e2b2b72f80eda7588"] }
})

内容的提问来源于stack exchange,提问作者Meet Panchal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:55:26