MySQL IFNULL () с несколькими таблицами не работает

Я использую этот запрос в своем коде, но это не дает мне результата

$query = sprintf("SELECT s.day, s.hour, h.name hostName FROM schedule s, host h WHERE dag IN (SELECT day FROM schedule WHERE showId = %s ORDER BY day, hour) AND s.hostId = h.id, AND s.showId = %s ORDER BY day, hour", mysqli_real_escape_string($con, $id), mysqli_real_escape_string($con, $id)); 

Я знаю, это потому, что s.hostId может быть NULL.

Я нашел метод IFNULL () и использовал его так, но это не сработало.

 SELECT s.day, s.hour, IFNULL(h.name, "") hostname 

Может кто-нибудь мне помочь? : S

PS: Я знаю, что могу использовать sprintf только с 1 real_escape (потому что это в 2 раза больше того же значения), но если я заменил% s% 1 $ s, как я должен быть с заполнителями, я получаю сообщение об ошибке: S

Поэтому, если кто-нибудь может мне помочь с этим, вы тоже приветствуете 🙂