Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / RIGHT JOIN / 7 сообщений из 7, страница 1 из 1
18.03.2020, 11:42
    #39938627
LiYing
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RIGHT JOIN
Помогите, пожалуйста, разобраться. Вот такой запрос
Код: sql
1.
2.
3.
4.
SELECT c.id, d.*
FROM data d
RIGHT JOIN contragents c ON d.id_contragent=c.id
WHERE d.period='2018-05-01'


по смыслу должен возвратить данные по всем контрагентам, имеющимся в таблице contragents . Если данных по контрагенту в заданный период нет, то NULL. Правильно? Но в результате выбираются только те контрагенты, по которым есть данные в таблице data в заданный период.
В чем ошибка?
(MySQL v8.0.13.0)
...
Рейтинг: 0 / 0
18.03.2020, 12:19
    #39938657
artas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RIGHT JOIN
LiYing,

не правильно, left вместо right
...
Рейтинг: 0 / 0
18.03.2020, 12:19
    #39938658
paver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RIGHT JOIN
LiYing,
не правильно. Перенесите условие в ON
...
Рейтинг: 0 / 0
18.03.2020, 12:24
    #39938660
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RIGHT JOIN
LiYing,

Перенесите условие по дате в условия соединения таблиц.
В секции where оно ещё отбросит null-ы, образовавшиеся из отсутствия подходящей записи в таблице data.
...
Рейтинг: 0 / 0
18.03.2020, 13:02
    #39938685
LiYing
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RIGHT JOIN
Спасибо всем, с переносом условия заработало как надо.
...
Рейтинг: 0 / 0
18.03.2020, 14:20
    #39938736
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RIGHT JOIN
LiYing,

WHERE d.period='2018-05-01'
превращает LEFT/RIGHT в простой INNER JOIN
...
Рейтинг: 0 / 0
18.03.2020, 14:32
    #39938743
LiYing
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RIGHT JOIN
Alex_Ustinov,

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


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