【问题标题】:MYSQL, How to compare ID with other column in the same tableMYSQL,如何将ID与同一张表中的其他列进行比较
【发布时间】:2021-10-06 02:57:30
【问题描述】:

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

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

比如我想用

select * from mytable where ID = BossID 

我希望得到 Peter 是 John 的 Boss 而 Alex 是 Max 和 Peter 的 Boss,但是当我这样使用它时,我没有得到任何关于查询的信息...

有什么办法吗?

预期的查询结果是:

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

【问题讨论】:

标签: mysql sql database


【解决方案1】:

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

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返回列表中的所有员工

【讨论】:

  • 你太棒了!现在我还有一个问题!如何将 BossID 替换为 Boss 的名称,例如:select IF(bossid = id, Name, Other) from mytable where bossid in (select id from mytable);
猜你喜欢
  • 1970-01-01
  • 2019-02-28
  • 1970-01-01
  • 2020-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-22
  • 1970-01-01
相关资源
最近更新 更多