2

私は次のようなクエリを持っています

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 句で機能するようにサブクエリの結果をフォーマットする方法はありますか?

ありがとうございました!

4

2 に答える 2

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
于 2012-12-08T07:29:06.047 に答える
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);
于 2012-12-08T09:10:35.257 に答える