Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Логика выборки активной должности / 5 сообщений из 5, страница 1 из 1
18.03.2020, 17:30
    #39938840
Born
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика выборки активной должности
Имеется 2 таблицы:

table: user
-- id
--fam
--name

table: user_rank
--id
--id_user
--id_rank
--date_start
--date_end

Т.е. есть сотрудники, в др. таблице их должности(должностей у сотрудника может быть много) нужно выбрать сотрудника и его действующую должность
...
Рейтинг: 0 / 0
18.03.2020, 17:40
    #39938845
Born
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика выборки активной должности
Делаю вот такой запрос:
Код: sql
1.
SELECT * FROM user LEFT JOIN user_rank ON user.id = user_rank.id_user WHERE user_rank.date_end is null



все ок, пока есть не закрытая date_end, но как только дата закрыта, пользователь исчезает.
...
Рейтинг: 0 / 0
18.03.2020, 18:10
    #39938857
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика выборки активной должности
Born,

user_rank.date_end is null
это условие в ON
иначе получаем INNER JOIN И запись исчезает
...
Рейтинг: 0 / 0
18.03.2020, 20:30
    #39938905
Born
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика выборки активной должности
Не совсем понял, просто вместо моего условия в ON ? А как же таблицы свяжутся по сотрудникам?
...
Рейтинг: 0 / 0
18.03.2020, 20:53
    #39938911
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Логика выборки активной должности
*перенести а не вместо
Код: sql
1.
ON user.id = user_rank.id_user AND user_rank.date_end is null


условие в WHERE превращает LEFT/RIGHT в INNER JOIN и показывает ЛЕВУЮ/ПРАВУЮ таблицу не полностью, а лишь по условию в WHERE
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Логика выборки активной должности / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]