【发布时间】:2018-08-19 23:58:38
【问题描述】:
假设我有如下三个表:
PRODUCT 表 (P) 具有 ID、NAME
CATEGORY 表 (C) 具有 ID、NAME
RELATION 表 (R) 有 ID、PRODUCT_ID、CATEGORY_ID
我目前在产品列表页面上,我想要一个能够按类别名称搜索产品的功能。
select P.*
from P
where P.id in (select group_concat(distinct R.product_id) from C join R on C.id=R.category_id where C.name like '%something%')
上面的 SQL 只会给我第一个匹配,但是运行括号中的查询会返回多个 id。我该如何纠正这个问题?
【问题讨论】: