powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / RIGHT JOIN
7 сообщений из 7, страница 1 из 1
RIGHT JOIN
    #39938627
LiYing
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста, разобраться. Вот такой запрос
Код: 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
RIGHT JOIN
    #39938657
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LiYing,

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

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

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

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


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