powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / JOIN 4 таблиц.
10 сообщений из 10, страница 1 из 1
JOIN 4 таблиц.
    #39787895
adimmat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, друзья.
Нужна ваша помощь в след.вопросе.
Имеются 4 таблицы, которые связаны между собой по FK.
Tab1 (ID, ФИО ...),
Tab2(ID, Tab1_ID, Tab3_ID, ...),
Tab3(ID, ...),
Tab4(ID, Tell, Tab3_ID, ...)

Необходимо написать запрос, который выдаст в результате ФИО человека и его Номер телефона (Tab4.Tell).

Пробовал соединить JOIN-ми, но результат-0. Получаю пустую строку.

Надеюсь на ваши советы и помощь.
Привожу свой запрос.

SELECT Tab1.FIO, Tab4.Tell
FROM Tab1 LEFT JOIN Tab2 ON Tab1.ID = Tab2.Tab1_ID INNER JOIN
Tab3 ON Tab2.Tab3_ID = Tab3.ID LEFT JOIN
Tab4 ON Tab3.ID = Tab4.Tab3_ID
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39787918
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adimmat,
ну попробуйте заменить INNER JOIN на LEFT
Код: sql
1.
2.
3.
4.
5.
SELECT Tab1.FIO, Tab4.Tell
FROM Tab1 
LEFT JOIN Tab2 ON Tab1.ID = Tab2.Tab1_ID
LEFT JOIN Tab3 ON Tab2.Tab3_ID = Tab3.ID 
LEFT JOIN Tab4 ON Tab3.ID = Tab4.Tab3_ID 
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39787919
solbrain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
adimmat,

select tab1.ФИО, tab4.Tell from
tab1
left join tab2 on tab2.tab1_id = tab1.id
left join tab4 on tab4.tab3_id = tab2.tab3_id
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39787928
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
solbrain,

Код: sql
1.
2.
3.
4.
5.
6.
SELECT Tab1.FIO, Tab4.Tell 
FROM Tab1 
LEFT JOIN Tab2 
  INNER JOIN Tab3 ON Tab2.Tab3_ID = Tab3.ID 
   ON Tab1.ID = Tab2.Tab1_ID
LEFT JOIN Tab4 ON Tab3.ID = Tab4.Tab3_ID
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39787960
solbrain
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
Жуть какая... А зачем вообще джоинить таб3, если в ней нет нужной информации? Чисто проверить записи на существование?
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39787967
adimmat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо Всем за помощь.

По поводу джойна 3-й таблицы, она основная таблица по которой идет связь между Tab1, Tab2 с Tab4, в которой находятся телефонные номера.

Хочу узнать друзья, в результате этих джойнов, возможна же попадание NULL-вых значения в результат!?
Нужно ли об этом "позаботиться" или с этим ничего не поделать?

Спасибо!
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39787974
adimmat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один вопрос:
Если у человека несколько номеров, как в таком случае может себя повести запрос?

Спасибо!
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39787980
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
solbrain,

в каком смысле жуть? Так автор захотел, я переписал его запрос в другом виде.
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39788004
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adimmatЕсли у человека несколько номеров, как в таком случае может себя повести запрос?Выведет для каждого человека несколько номеров. То есть будет несколько строк для каждого такого человека.
...
Рейтинг: 0 / 0
JOIN 4 таблиц.
    #39788012
adimmat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg, Так и подумал. )
Огромное Вам спасибо!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / JOIN 4 таблиц.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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