mysql 查询寻找包含特定类目的产品
给定两个表:产品表 t_product 和产品扩展分类表 t_product_category。其中 t_product 表包含字段 product_id、category_id、title 和 seq,而 t_product_category 表包含字段 product_id 和 category_id。
任务是根据指定的 category_id 查找产品。如果相关产品在 t_product 表中找不到,则需要在 t_product_category 表中搜索。
查询语句:
SELECT p.* FROM t_product AS p LEFT JOIN t_product_category AS pc ON p.product_id = pc.product_id WHERE p.category_id IN (1,2) OR pc.category_id IN (1,2) GROUP BY p.product_id ORDER BY p.seq ASC, p.product_id DESC LIMIT 0, 20
查询解释:
roup by 子句根据产品 id 对结果进行分组,以确保每个产品只出现一次。