![](/img/trans.png)
[英]Updating a Column with the minimum value of that same column depending on a 2nd column
[英]Find values in one column that share same value in different column without knowing the 2nd cols value
鉴于此表:
Relationship
managerId companyId
12 33
19 33
27 44
21 33
4 20
有没有办法找到共享同一家公司的所有managerId但只知道一个managerId并且不知道companyId
例如,如果我们只知道managerId是12
SELECT companyId
FROM Relationship
WHERE managerId = 12
我们显然会得到33
回。 但是在同一个查询中有一种方法可以取回所有managerId,其中companyId是第一个语句的返回值。 所以在这种情况下,只要知道managerId = 12我就想回到12,19,21
。
在companyId
上将表连接到自己:
select b.managerId
from relationship a
join relationship b on b.companyId = a.companyId
where a.managerId = 19
这是一种方法:
select r.*
from relationship r
where r.companyid = (select r2.companyid from relationship r2 where r2.managerid = 12);
注意:此特定方法假定relationship.managerid
是唯一的。 鉴于您的问题和样本数据,这似乎是合理的。
试试这个:
select managerId from relationship
where companyId = select companyId from relationship where managerId = 12;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.