Я проверил несколько потоков здесь и не могу найти ответ на свой вопрос .... Я пытаюсь выполнить запрос mysql с несколькими таблицами и левым присоединиться к последней таблице. Это не нравится левое соединение и не дает мне никаких результатов, когда я его включаю. Любая помощь очень ценится :)Mysql несколько таблиц left join last table
(я использую Joomla)
query = "SELECT DISTINCT u.id as uid, CONCAT(u.first_name,' ',u.last_name) as name1,
u.grad as grad, u.opt_out as opt_out
FROM #__bl_teams as t, #__bl_regions as r, #__users as u
LEFT JOIN #__bl_paid as pd ON pd.u_id = u.id
WHERE u.team_id = t.id AND u.team_id != '' AND u.s_id = $sid
AND ((t.id = $tid)OR($tid=0)) AND (t.id IN ($teamsfull))
AND ((t.id IN(".$tc_teams."))OR(".$tc_id." = 0))
AND ((r.id = ".$mid.")OR(".$mid." = 0))
AND ((r.s_id = ".$sid.")OR(".$mid." = 0))
AND ((FIND_IN_SET(t.id,r.teams))OR(".$mid." = 0))
AND u.id NOT IN($paidrows) AND u.id NOT IN ($rsrows) GROUP BY u.id";
$db->setQuery($query, $pageNav->limitstart, $pageNav->limit);
$rows50 = $db->loadObjectList();
Почему вы смешиваете старые стили и стиль «новый» (1992)? Разве это не было бы более читаемым, если бы вы использовали 'inner join' для других объединений? Что касается вашей проблемы, я не вижу каких-либо непосредственных синтаксических ошибок, но может быть, есть ошибка (неправильное имя таблицы?), Из-за чего запрос терпит неудачу. Если этот отказ не проверен правильно, может показаться, что запрос не возвращает строк. – GolezTrol
Я проверил имена таблиц, и они верны – user1071915