#sql #oracle
#sql #Oracle
Вопрос:
У меня есть таблица demo_snap со столбцами информации о сотрудниках и руководителях. Я хочу узнать всех менеджеров и любого менеджера, который подчиняется непосредственно этому менеджеру, включая его самого. Запрос действительно сбивает меня с толку: (
Запрос, который предоставит информацию о сотруднике и руководителе, является :
Select
employee_number,
first_name e_first_name,
last_name e_last_name,
supervisor_employee_number,
supervisor_first_name,
supervisor_last_name
from demo
Может ли кто-нибудь помочь мне сформировать этот запрос таким образом, чтобы найти всех менеджеров и любого менеджера, который подчиняется непосредственно этому менеджеру, включая его самого
Пример вывода приведенного выше запроса :
e_number f_name l_name supervisor_e_number s_first_name s_last_name
1 John Smith 2 Adam juan
4 Shree Lekha 2 Adam juan
6 Hema Malini 3 Shruti Hasan
7 Gauri Mikha 1 John Smith
Желаемый результат, который я хочу, то есть я хочу создать запрос таким образом, чтобы выбирались следующие сотрудники :-
active managers- 2,3 and managers that reports to the active manager-1
Созданный мной запрос выглядит так:- но это не дает желаемого результата
WITH mgr_temp
AS (SELECT person_id mgr_person_id,
employee_number mgr_num,
first_name mgr_name,
supervisor_number mgr_sup
FROM demo mgr
)
SELECT mgrs.mgr_num HISL_ID,
delegs.mgr_num DELEGATE_HISL_ID,
mgrs.mgr_name emp_name,
delegs.mgr_name sup_name
FROM mgr_temp mgrs, mgr_temp delegs
WHERE mgrs.mgr_sup = delegs.mgr_sup
AND mgrs.mgr_num <> delegs.mgr_num
Комментарии:
1. Можете ли вы добавить некоторые примеры данных и результат, который вы ожидаете получить? Я, например, не смог понять, что вы пытаетесь сделать.
2. Было бы полезно собрать SQLFiddle . Не забудьте изменить базу данных на Oracle 11.2. Спасибо!!
3. Пожалуйста, отредактируйте заголовок вашего вопроса. «Все менеджеры» уже включает «менеджеров, которые подчиняются менеджерам», поэтому ваше требование фактически просто «все менеджеры».
4. Почему только у одного из менеджеров (Джона Смита) есть запись в
demo_snap
таблице? Или, возможно, вопрос должен быть «Почему у некоторых менеджеров (Адама Хуана, Шрути Хасан) нет записи вdemo_snap
таблице?». ???5. Непонятно! Пожалуйста, переформулируйте вопрос и укажите несколько допустимых примеров данных!