sql - 从单个表中两次选择同一列但条件不同

标签 sql sql-server select

我想显示员工的姓名和编号以及他们老板的编号和姓名,如下所示:

output

只有一张 table :

table

到目前为止我试过这个:

SELECT  
    ID, 
    Name, 
    Boss, 
    (SELECT Name FROM Employees WHERE ID IN (SELECT Boss FROM Employees))
FROM Employees

但它给了我一个错误:

"Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression"

最佳答案

您需要自行加入;就像是:

Select a.ID, a.Name, b.ID as Boss, b.Name as BossName
from Employees A
left join Employees B
on a.Boss = b.ID

关于sql - 从单个表中两次选择同一列但条件不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41450663/

相关文章:

sql - 从 varchar 字段返回有效日期的函数

mysql - 如何从具有字符串列的表中获取记录,其中字符串列的值以给定的子字符串开头?

sql - 更改表添加具有默认值和 FK 的列,该值在 FK 引用数据中不存在

sql - 在 codeigniter SQL 上设置变量

sql - 如何从开始日期和 Prestodb SQL 中的数字创建日期范围行?

java - 截断不正确的 INTEGER 值 : '%' in Java and MySQL

json - SQL Server- JSON 对象同时包含字符串和数组 : how to get result with single query?

r - 使用 data.table R 选择行或列?

mysql - 使用 SQL IN() 的独占查询

mysql - 如何在 MySQL 触发器中访问 "INSERTED"值?