mysql - 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
解决方案
似乎您想要他们的老板也存在于列表中的员工列表:
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
返回列表中的所有员工
推荐阅读
- javascript - 在 next.js 或浏览器中存储 info api
- node.js - 有没有办法将 Node.js cli 选项设置为默认值?
- flutter - Google 使用硬编码帐户登录
- npm - 为什么即使找到 package.json 文件,yarn build 也会出错?
- vba - vba - 为什么关闭此工作簿后用户窗体出现两次
- javascript - Parsing ISO-8601 date containing TZ offset with seconds
- ios - 重新路由大约需要 10 秒来绘制下一个路径 Mapbox
- postgresql - BRIN 是否用于删除级联?
- postgresql - POSTGRESQL:无法在 debian 9 中登录 postgresql
- python - TypedDict 不允许可选键?