select GROUP_CONCAT(DISTINCT tbl1.logid) ,
(
SELECT COUNT( DISTINCT tbl2.client_id )
FROM tbl_client tbl2
WHERE tbl2.con_id
IN ( GROUP_CONCAT(DISTINCT tbl1.logid) )
) as PC2,
from tbl_table tbl1;
我尝试分配GROUP_CONCAT(DISTINCT tbl1.logid)的别名并将其放在IN()内部的值中但仍然无法解决
父查询返回类似12,34,3,56的内容 我想在IN函数中使用
这实际上不是整个案例,但我只是想弄明白,
答案 0 :(得分:2)
您不能将GROUP_CONCAT的输出用于IN(),因为它返回一个字符串。将子查询的结果用于IN()。
select GROUP_CONCAT(DISTINCT tbl1.logid) ,
(
SELECT COUNT( DISTINCT tbl2.client_id )
FROM tbl_client tbl2
WHERE tbl2.con_id
IN ( SELECT logid from tbl_table )
)
as PC2,
from tbl_table tbl1;