Я проверил прежние посты и никто не решить мою проблему пока, любая помощь будет оцененаMysql Регистрация для 3 столов
MYSQL запрос 3 таблицы (пользователи, матч, интервью)
Хотите вернуть имя пользователя и интервью # (если есть номер интервью) для указанного Матча.
Но я не хочу ограничивать результаты только тем, у кого есть собеседование. Я попробовал JOIN, но не могу заставить его работать на 3 таблицы.
Вот то, что я до сих пор в PHP:
$query = "SELECT CONCAT(u.first_name,' ',u.last_name,'----',COALESCE(i.v_code,'')) as name, u.id as id
FROM #__users as u
JOIN #__bl_match as m ON ((u.team_id = m.team1_id) OR
(u.team_id = m.team2_id) OR
(u.team_id = m.team3_id AND m.team3_id != 0) OR
(u.team_id = m.team4_id AND m.team4_id != 0) OR
(u.team_id = m.team5_id AND m.team5_id != 0) OR
(u.team_id = m.team6_id AND m.team6_id != 0) OR
(u.team_id = m.team7_id AND m.team7_id != 0) OR
(u.team_id = m.team8_id AND m.team8_id != 0) OR
(u.team_id = m.team9_id AND m.team9_id != 0) OR
(u.team_id = m.team10_id AND m.team10_id != 0))
AND m.id = ".$t_id."AND m.id != 0
JOIN #__bl_interview as i ON i.u_id = u.id";
$db->setQuery($query);
$parti12 = $db->loadObjectList();
Вы попробовали ВЛЕВО? JOIN будет получать только пользователей, у которых есть соответствующая сущность (ы) в таблице соединения. – Tool
Просто изменил его. Но теперь он не показывает имена пользователей, просто пробелы в раскрывающемся списке – user1071915
Попробуйте добавить LEFT JOIN в таблицу #__bl_match. – Tool