Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Требуется подсказка/помощь  [new]
migistar
Member

Откуда:
Сообщений: 2
Добрый день, прошу вас подсказать, или помочь с одной деталью.
Требуется объединить две таблицы 1.(person_ID,First_name,Last_name) и 2.(person_id,contact_person_id)
Выполняя следующий код, получаю связанные с ID ФИО, ID контактов, но нужно вывести также и ФИО для полученных ID

select per_all_people_f.person_id,last_name,first_name,middle_names,contact_person_id
FROM per_all_people_f LEFT JOIN per_contact_relationships
ON per_all_people_f.person_id = per_contact_relationships.person_id
where (effective_start_date<=sysdate and effective_end_date>sysdate) and (last_name = 'Никонова')
group by per_all_people_f.person_id, last_name, first_name, middle_names,contact_person_id
order by per_all_people_f.person_id

Вывод: 76317 Нико**** Лю*** Ивановна 62742
Где к ID 62742 требуется присвоить ФИО
4 ноя 18, 18:29    [21723712]     Ответить | Цитировать Сообщить модератору
 Re: Требуется подсказка/помощь  [new]
wsxedc83
Member

Откуда:
Сообщений: 66
migistar,

А если сделать ещё один Left Join?
4 ноя 18, 18:48    [21723717]     Ответить | Цитировать Сообщить модератору
 Re: Требуется подсказка/помощь  [new]
wsxedc83
Member

Откуда:
Сообщений: 66
migistar,

Вообще, я бы убрал все SELECT с условием, чтобы не JOINить к лишним полям выборки:

SELECT Tab1.person_id, Tab1.last_name, Tab1.first_name, Tab1.middle_names, Tab2.contact_person_id, Tab3.last_name, Tab3.first_name, Tab3.middle_names
FROM 
(SELECT person_id, last_name, first_name, middle_names
FROM per_all_people_f 
where (effective_start_date<=sysdate and effective_end_date>sysdate) and (last_name = 'Никонова'))  Tab1
LEFT JOIN per_contact_relationships Tab2 ON Tab2.person_id = Tab1.person_id
LEFT JOIN per_all_people_f  Tab3 ON Tab3.person_id = Tab2.contact_person_id
group by Tab1.person_id, Tab1.last_name, Tab1.first_name, Tab1.middle_names, Tab2.contact_person_id, Tab3.last_name, Tab3.first_name, Tab3.middle_names
order by Tab1.person_id


Но я небольшой спец в sql. Может оно и не взлетит...
4 ноя 18, 18:55    [21723721]     Ответить | Цитировать Сообщить модератору
 Re: Требуется подсказка/помощь  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10042
A зачем GROUP BY?

SY.
4 ноя 18, 19:19    [21723731]     Ответить | Цитировать Сообщить модератору
 Re: Требуется подсказка/помощь  [new]
migistar
Member

Откуда:
Сообщений: 2
wsxedc83, спасибо большое!! Всё получилось!)
4 ноя 18, 21:21    [21723793]     Ответить | Цитировать Сообщить модератору
 Re: Требуется подсказка/помощь  [new]
wsxedc83
Member

Откуда:
Сообщений: 66
SY
A зачем GROUP BY?

SY.


Ну может надо ему. Может так в учебнике написано...
5 ноя 18, 00:55    [21723889]     Ответить | Цитировать Сообщить модератору
 Re: Требуется подсказка/помощь  [new]
Elic
Member

Откуда:
Сообщений: 29979
wsxedc83
Может так в учебнике написано...
Ну и зачем ты встрял со своей медвежьей помощью в учебный процесс?
5 ноя 18, 09:31    [21723942]     Ответить | Цитировать Сообщить модератору
 Re: Требуется подсказка/помощь  [new]
wsxedc83
Member

Откуда:
Сообщений: 66
Elic
Ну и зачем ты встрял со своей медвежьей помощью в учебный процесс?


Пусть на подсказках через учебу проползет - мне его рабочее место достанется когда его попрут.
6 ноя 18, 16:25    [21725482]     Ответить | Цитировать Сообщить модератору
 Re: Требуется подсказка/помощь  [new]
-2-
Member

Откуда:
Сообщений: 15330
wsxedc83
когда его попрут
Не факт. Вон некий RMagistr много лет задает идиотские вопросы. Видимо за копипаст с форума что-то платят и не факт, что тебя эти деньги устроят.
6 ноя 18, 17:01    [21725546]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить