我有一个像
这样的查询select prod_name
from ct_products
where id in ( (select prod_id
from ct_recommend
where cat_id=12) ) and status > 0
但是,因为子查询返回的字符串看起来像1,2,3而不是结果行,所以查询不能按预期方式工作。有没有办法格式化子查询结果,以便它在IN子句中工作?
谢谢!
答案 0 :(得分:5)
尝试一下,
select prod_name
from ct_products
where FIND_IN_SET(ID,(select prod_id from ct_recommend where cat_id=12)) <> 0
and status > 0
答案 1 :(得分:0)
试试这个:
SELECT prod_name
FROM ct_products cp
WHERE STATUS > 0 AND
EXISTS (SELECT * FROM ct_recommend cr WHERE cp.id = cr.prod_id AND cat_id=12);