首页 > 解决方案 > MYSQL,如何将ID与同一张表中的其他列进行比较

问题描述

我有一个表,我想在其中将一个 ID 列与同一个表中的另一列进行比较。这是我的桌子

ID | Name | BossID
1    John     3
2    Max      4
3    Peter    4
4    Alex     5

例如我想使用

select * from mytable where ID = BossID 

我希望彼得是约翰的老板,亚历克斯是马克斯和彼得的老板,但是当我以这种方式使用它时,我没有得到任何关于查询的信息......

有什么办法得到它吗?

预期的查询结果是:

ID | Name | BossID
1    John     3
2    Max      4
3    Peter    4

标签: mysqlsqldatabase

解决方案


似乎您想要他们的老板也存在于列表中的员工列表:

select *
from mytable
where bossid in (select id from mytable);

获取老板姓名:

select t.ID, t.Name, b.Name as BossName  
from mytable t
join mytbale b
 on t.bossid = b.id 

您可以使用left join返回列表中的所有员工


推荐阅读