IF(($q1) > 0, 1, 0)
Ini adalah bagian yang mengembalikan kesalahan.
Juga, cara Anda memilikinya, $q1
sedang dievaluasi dua kali, yang mungkin bukan yang Anda inginkan.
Jika saya mengerti dengan benar apa yang Anda coba lakukan, maka Anda seharusnya bisa mengabaikan bagian ini. Jika $q1
tidak mengembalikan baris, lalu IN
ekspresi sama sekali tidak cocok dengan apa pun.
Perlu diperhatikan juga bahwa IN
dengan subqueries agak tidak efisien di MySQL; akan berjalan lebih cepat dengan bergabung:
SELECT `c_title` FROM `c_content` JOIN ($q1) `a` ON `c_content`.`c_id`=`a`.`bd_h_id`