来自子查询的 MySQL IN 值

标签 mysql sql subquery

我有一个类似的查询

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

关于来自子查询的 MySQL IN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775487/

相关文章:

mysql - 如何在mongodb上对用户数据进行分组

mysql - 当 VB.Net 上必须有多行时,DataTable 只返回一行

mysql - SQL查询mysql数据库中的多个(一对多)表

mysql - 如何使用 LIKE 通配符在列中搜索(不区分大小写)?

具有重复子查询的 mySQL 选择联合查询运行缓慢

mysql - 不是单组组函数oracle sum 与子查询sum

mysql - 为什么这个 MYSQL 查询中的子查询比这个慢很多?

mysql - 如何在LIKE Mysql中使用CONCAT_WS/GROUP_CONCAT?

结合 SUM 的 MySQL 查询问题

sql - 过程或函数 “” 需要参数 '',但未提供