我的桌子是
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,该SQL将为我提供经理的唯一ID,
select manager_id from test where ID = '12'
这将为我提供用户manager_ID
select unique_id from test where ID = '25'
我可以在一条语句中组合以上sql语句,该语句将给我用户经理的unique_id作为输出吗?
答案 0 :(得分:2)
您正在寻找一种自我加入的方式:
select m.unique_id
from test t join
test m
on t.manager_id = m.id
where t.ID = 12;
请注意,我删除了12
周围的单引号。大概id
是一个整数。您不应该将整数与字符串进行比较。
答案 1 :(得分:2)
除了将其连接到同一表之外,您还可以像这样创建嵌套的子查询语句。
SELECT unique_id FROM test WHERE ID =(SELECT manager_id FROM test WHERE ID = 12);
内部查询输出manager_id
,其中id
的{{1}}等于12,外部查询给出相关管理者的person
。