Sql 如何从两个select语句中获取合并

Sql 如何从两个select语句中获取合并,sql,oracle,Sql,Oracle,我的桌子是 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,给我经理的唯一ID select manage

我的桌子是

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,给我经理的唯一ID

select manager_id from test where ID = '12'
这将为我提供用户管理员ID

select unique_id from test where ID = '25' 

我是否可以将上述sql合并到一条语句中,将用户的管理员的唯一id作为输出?

您正在寻找自联接:

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

请注意,我删除了
12
周围的单引号。大概,
id
是一个整数。您不应将整数与字符串进行比较。

您正在寻找自联接:

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

请注意,我删除了
12
周围的单引号。大概,
id
是一个整数。您不应该将整数与字符串进行比较。

您也可以创建这样的嵌套子查询语句,而不是将其连接到同一个表

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

内部查询输出
manager\u id
,其中
person
id
等于12,外部查询给出相关管理者的
唯一的\u id

您也可以这样创建嵌套子查询语句,而不是将其连接到同一个表中

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

内部查询输出
manager\u id
,其中
person
id
等于12,外部查询给出相关经理的
唯一id

虽然这可能回答了作者的问题,但它缺少一些解释词和文档链接。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑您的答案。@hellow现在可以了吗?更像是这样,但看起来确实更好。虽然这可能回答了作者的问题,但它缺少一些解释文字和文档链接。如果没有一些短语,原始代码片段就没有多大帮助。你也会发现这很有帮助。请编辑你的答案。@hellow现在可以了吗更像这样,但是是的,看起来确实更好了。