Co powiesz na
SELECT * FROM
(
SELECT sodnik_1 as value FROM prihodnji_krog WHERE file_id='8778' AND sodnik_1 != ''
UNION
SELECT sodnik_2 as value FROM prihodnji_krog WHERE file_id='8778' AND sodnik_2 != ''
UNION
SELECT sodnik_3 as value FROM prihodnji_krog WHERE file_id='8778' AND sodnik_3 != ''
UNION
SELECT sodnik_4 as value FROM prihodnji_krog WHERE file_id='8778' AND sodnik_4 != ''
) x INNER JOIN
(
SELECT value FROM notification_sodniki WHERE user_id='16'
) y
ON x.value = y.value
Kiedy używasz podzapytań w FROM
to tak, jakbyś tworzył tabele tymczasowe. Następnie za pomocą aliasu możesz się do nich odnieść i wykonać INNER JOIN