我有一个像这样的查询
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 子句中起作用?
谢谢!
试试这个,
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
试试这个:
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);