0
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関数で使用したい

これは実際には全体ではありませんが、私はこれを理解したいだけです、

4

1 に答える 1

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;
于 2012-07-11T03:58:21.337 に答える