Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
18.03.2020, 11:42
|
|||
---|---|---|---|
|
|||
RIGHT JOIN |
|||
#18+
Помогите, пожалуйста, разобраться. Вот такой запрос Код: sql 1. 2. 3. 4.
по смыслу должен возвратить данные по всем контрагентам, имеющимся в таблице contragents . Если данных по контрагенту в заданный период нет, то NULL. Правильно? Но в результате выбираются только те контрагенты, по которым есть данные в таблице data в заданный период. В чем ошибка? (MySQL v8.0.13.0) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.03.2020, 12:19
|
|||
---|---|---|---|
RIGHT JOIN |
|||
#18+
LiYing, не правильно, left вместо right ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.03.2020, 12:19
|
|||
---|---|---|---|
|
|||
RIGHT JOIN |
|||
#18+
LiYing, не правильно. Перенесите условие в ON ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.03.2020, 12:24
|
|||
---|---|---|---|
RIGHT JOIN |
|||
#18+
LiYing, Перенесите условие по дате в условия соединения таблиц. В секции where оно ещё отбросит null-ы, образовавшиеся из отсутствия подходящей записи в таблице data. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.03.2020, 13:02
|
|||
---|---|---|---|
|
|||
RIGHT JOIN |
|||
#18+
Спасибо всем, с переносом условия заработало как надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.03.2020, 14:20
|
|||
---|---|---|---|
|
|||
RIGHT JOIN |
|||
#18+
LiYing, WHERE d.period='2018-05-01' превращает LEFT/RIGHT в простой INNER JOIN ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=47&mobile=1&tid=1828701]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 304ms |
total: | 469ms |
0 / 0 |