IF(($q1) > 0, 1, 0)
これはエラーを返す部分です。
また、あなたがそれを持っている方法、$q1
は2回評価されていますが、これはおそらくあなたが望むものではありません。
私があなたがやろうとしていることを正しく理解していれば、あなたはこの部分を省くことができるはずです。 $q1
の場合 行を返さない場合は、IN
表現はまったく何にも一致しません。
IN
にも注意する必要があります サブクエリを使用することは、MySQLではかなり非効率的です。結合するとはるかに高速に実行されます:
SELECT `c_title` FROM `c_content` JOIN ($q1) `a` ON `c_content`.`c_id`=`a`.`bd_h_id`