Выборка пустых строк Mysql

264
30 августа 2017, 17:00

Есть таблица вида:

id_sim | sim_id_status | sim_user | sim_comp | sim_phone | sim_number

Из этой таблицы делаю выборку данных:

$sim = array();
$sim_query = $dbquery->query("SELECT id_sim, id_sim_status, name_sim_status, sim_user, first_name, middle_name, surname, dolzh, short_name_comp, sim_phone, sim_number FROM sim, company, sim_status, users WHERE sim.sim_user=users.users_id AND sim.sim_comp=company.id_comp AND sim.sim_id_status=sim_status.id_sim_status");
    $sim_query->execute();
    while($row_sim = $sim_query->fetch(PDO::FETCH_ASSOC)) {
        $sim[] = $row_sim;
    }
    return $sim;

Как видно, в блоке:

sim.sim_user=users.users_id

идет сравнение двух таблиц. Если в таблице sim_user будет NULL или 0, то строка целиком не выводится. Мне необходимо сделать, что бы выводилась, так как данное поле содержит информацию о пользователе только в том случае, если ему выдана данная sim.

Вопрос: как можно сделать вывод всех строк, в том числе и пустые? Читал и пробовал LEFT JOIN - не помогло. Если не сложно, прошу дать рабочий код. Или указать в какую сторону копать.

Answer 1

Как на счёт

SELECT id_sim, id_sim_status, name_sim_status, sim_user, first_name, 
 middle_name, surname, dolzh, short_name_comp, sim_phone, sim_number
FROM sim
JOIN company ON sim.sim_comp=company.id_comp
JOIN sim_status ON sim.sim_id_status=sim_status.id_sim_status
LEFT JOIN users ON sim.sim_user=users.users_id

Общий совет: не пишите

FROM table1, table2
WHERE table1.table2_id = table2.id

Пишите

FROM table1
JOIN table2 ON table1.table2_id = table2.id

Так получается более чистый код, потому что вы оставляете WHERE для реальный фильтров а не для остатков синтакся JOINов

READ ALSO
Передача данных из PHP в JSON

Передача данных из PHP в JSON

Добрый вечер! Покажите пожалуйста простой пример использования JSON для передачи например двухмерного массива или несложного объектаСмотрел...

204
Отображение сообщения с почты на сайте через PHP

Отображение сообщения с почты на сайте через PHP

Есть сайт на opencart, есть две почты, с которых отправляются уведомления на почты заказчиковПо мимо всего прочего, эти уведомления видны и в личном...

246
Поиск комментариев в группе вк

Поиск комментариев в группе вк

Привет! Хочу сделать чистку комментариев как на Настоящем Лентаче, но не знаю как вытащить комментарии из под всех постов сразуВ документации...

221
Счетчик обновления страницы с записью в файл

Счетчик обновления страницы с записью в файл

Написал скрипт, который считает, сколько раз пользователь обновил страницу и выводит результат на экран

189