Krin
Guest
Ниче не понимаю с LEFT JOIN. Или у меня глюк или у MySQL
Есть таблицы USERS в которой есть поля USERS_ID и USERS_NAME и где забит список сотрудников. Есть вторая таблица WORK, в которой есть поля WORK_ID, WORK_TYPE и WORK_DATE. В этой таблице отмечается, была ли сделана работа определенным пользователем, ее тип и дата. Для каждого работника может быть только одна работа. Но тип ее может быть разный.
Хочется получить результат, в котором будут присутствовать все сотрудники из таблицы USERS и дата выполненой работы из второй таблицы WORK.WORK_DATE, а если нет, то NULL. Вроде бы элементарный запрос и все просто.
select
u.`USERS_ID`,
u.`USERS_NAME`,
w.`WORK_DATE`
from `USERS` as u left join `WORK` as w on u.`USERS_ID`=w.`USERS_ID`
where w.`WORK_TYPE` =1 or w.`WORK_TYPE` is null
Но почему то возвращается таблица сотрудников только тех, у которых есть выполненная работа WORK_TYPE=1. Остальные не выводятся. На сколько я понимаю, LEFT JOIN должен вывести первую таблицу целиком, а вторую только с совпадающим результатом. Блин, уже голову сломал на ровном месте. В чем я пропираюсь ?
Есть таблицы USERS в которой есть поля USERS_ID и USERS_NAME и где забит список сотрудников. Есть вторая таблица WORK, в которой есть поля WORK_ID, WORK_TYPE и WORK_DATE. В этой таблице отмечается, была ли сделана работа определенным пользователем, ее тип и дата. Для каждого работника может быть только одна работа. Но тип ее может быть разный.
Хочется получить результат, в котором будут присутствовать все сотрудники из таблицы USERS и дата выполненой работы из второй таблицы WORK.WORK_DATE, а если нет, то NULL. Вроде бы элементарный запрос и все просто.
select
u.`USERS_ID`,
u.`USERS_NAME`,
w.`WORK_DATE`
from `USERS` as u left join `WORK` as w on u.`USERS_ID`=w.`USERS_ID`
where w.`WORK_TYPE` =1 or w.`WORK_TYPE` is null
Но почему то возвращается таблица сотрудников только тех, у которых есть выполненная работа WORK_TYPE=1. Остальные не выводятся. На сколько я понимаю, LEFT JOIN должен вывести первую таблицу целиком, а вторую только с совпадающим результатом. Блин, уже голову сломал на ровном месте. В чем я пропираюсь ?