Как получить объединить из двух операторов выбора - PullRequest
0 голосов
/ 11 сентября 2018

мой стол,

ID   First_Name    Last_name    manager_ID     Unique_ID
12    Jon           Doe          25             CN=Jon Doe, DC=test,DC=COM
25    Steve         Smith        39             CN=steve smith, DC=test,dc=com

Я хочу написать sql, который даст мне уникальный идентификатор менеджера,

select manager_id from test where ID = '12'

это даст мне пользователей manager_ID

select unique_id from test where ID = '25' 

Могу ли я объединить выше SQL в одном выражении, которое даст мне unique_id менеджера пользователя в качестве вывода?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Вместо того, чтобы присоединить его к той же таблице, вы также можете сделать вложенный оператор подзапроса, подобный этому.

SELECT unique_id FROM test WHERE ID =(SELECT manager_id FROM test WHERE ID = 12);

Внутренний запрос выводит manager_id, где id из person равно 12, а внешний запрос дает unique_id связанного менеджера.

0 голосов
/ 11 сентября 2018

Вы ищете самообъединение:

select m.unique_id
from test t join
     test m
     on t.manager_id = m.id
where t.ID = 12;

Обратите внимание, что я удаляю одинарные кавычки вокруг 12.Предположительно, id является целым числом.Вы не должны сравнивать целое число со строкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...