powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS SQL left и inner join дают один результат
7 сообщений из 7, страница 1 из 1
MS SQL left и inner join дают один результат
    #39714749
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Делая выборку столкнулся с такой непонятной для меня вещью:

Таблица 1 имеет порядка 19000 записей, желая вывести все строки из этой таблицы и для нее те значения, которые совпадают по ключевому полю с таблицей 2.
Ожидал получить в результате запроса тоже количество записей что и в таблице 1 (по крайней мере не меньше, т.к. во второй таблице может быть более одной записи подпадающей под условие on в join)
Но получаю почему-то порядка 800 записей (замена с left join на inner показала что результат не меняется).

Помогите разобраться в чем может быть дело.
...
Рейтинг: 0 / 0
MS SQL left и inner join дают один результат
    #39714750
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMusЗдравствуйте.
Делая выборку столкнулся с такой непонятной для меня вещью:

Таблица 1 имеет порядка 19000 записей, желая вывести все строки из этой таблицы и для нее те значения, которые совпадают по ключевому полю с таблицей 2.
Ожидал получить в результате запроса тоже количество записей что и в таблице 1 (по крайней мере не меньше, т.к. во второй таблице может быть более одной записи подпадающей под условие on в join)
Но получаю почему-то порядка 800 записей (замена с left join на inner показала что результат не меняется).

Помогите разобраться в чем может быть дело.

предлагаете лечить запор по фотографии?
запрос то где ваш?

ЗЫ. хрустальный шар подсказывает, что вы во where могли наложить фильтр на правую таблицу.
...
Рейтинг: 0 / 0
MS SQL left и inner join дают один результат
    #39714760
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посетитель,

Да есть where, в котором указано условие на "правую" таблицу.
...
Рейтинг: 0 / 0
MS SQL left и inner join дают один результат
    #39714763
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMusПосетитель,

Да есть where, в котором указано условие на "правую" таблицу.Так делать нельзя. Это условие должно быть в секции FROM -> ON.
...
Рейтинг: 0 / 0
MS SQL left и inner join дают один результат
    #39714766
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMus,

авторДа есть where, в котором указано условие на "правую" таблицу.
Это автоматом превращает LEFT JOIN в INNER
...
Рейтинг: 0 / 0
MS SQL left и inner join дают один результат
    #39714767
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoALARMusПосетитель,

Да есть where, в котором указано условие на "правую" таблицу.Так делать нельзя. Это условие должно быть в секции FROM -> ON.

делать можно, если умеючи.
а если не умеючи - то просто не стоит удивляться результату.
...
Рейтинг: 0 / 0
MS SQL left и inner join дают один результат
    #39714773
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo,
спасибо, заменил where на ON and _условие на правую таблицу_
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / MS SQL left и inner join дают один результат
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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