Я пытаюсь просто выбрать данные из агентства таблиц, где это агентство имеет запись в таблице комиссии с определенным носителем. Мой SQL-запрос возвращает все записи и 3 раза. Что я делаю не так.MySQL Left Join Not Working
$allquery = mysql_query("SELECT agency.ID, agency.agencyname, agency.contdate, agency.physcity FROM agency LEFT JOIN commission ON commission.repnum = agency.repid WHERE agency.repid = '$repid' AND commission.repnum = '$repid' AND commission.carrier = 'Carrier' ")or die(mysql_error())
Спасибо за это, я не знаю, что я делаю, я редактировал выше, и его до сих пор извлечения всех записей и 3 раза каждый. Это похоже на игнорирование моего предложения WHERE. Пробовал левое и внутреннее соединение. – savagenoob
Nevermind. Я понял. Необходимо сделать комиссию ON.agencyid = agency.ID. Я устал. +1 – savagenoob
Но вам нет причин указывать AND Commission.repnum = '$ repid'. Поскольку неясно, какова ваша структура или данные таблицы, мы можем только догадываться об этом. При этом левое внешнее соединение возвращает все строки. Свойство левого соединения состоит в том, что вы получите строку для каждой строки в левой таблице, которая находится в таблице слева от предложения LEFT JOIN. В этом случае это агентство. Независимо от того, можно ли найти подходящую строку в команде, вы получите строку. – gview