0

我正在使用子查询来获取所有 qcode,并将其作为参数传递给 mysql 中的另一个查询。但是内部查询正在返回值,例如-

SELECT qcodes FROM boardmst WHERE id=10

10002','10028','10031','10202','10226

那么如何解析它以传递另一个带有 IN 子句的查询呢?

SELECT * FROM users WHERE qcodes IN (SELECT qcodes FROM boardmst WHERE id=10)
4

2 回答 2

0

如果您只有五个以逗号分隔的值,那么下面的查询可以派上用场:

SELECT * FROM users WHERE qcodes IN (
select regexp_substr(replace(qcodes,''',''',','),'[^, ]+',1,level)
from boardmst where id = 10 connect by level <= 5)
于 2017-11-21T14:48:04.170 回答
0

除了外部缺少的引号(也许这不是内部问​​题产生的确切答案),这正是 MySQL 期望的 IN 子句的内容。您只需确保qcodes列的定义在usersboardmst表之间是相同的。

于 2017-11-21T12:05:04.493 回答