Mysql SQL子查询列未显示

Mysql SQL子查询列未显示,mysql,sql,Mysql,Sql,目前,我正试图从两个单独的表中查询特定的列。为此,我选择在FROM子句中使用SELECT语句 以下是我正在尝试的查询: SELECT Employees.Last_Name, Employees.First_Name, Employees.PositionID FROM Employees, (SELECT Positions.PositionID, SUM(Positions.Position_Salary) AS Salary FROM Positions GROUP BY

目前,我正试图从两个单独的表中查询特定的列。为此,我选择在FROM子句中使用SELECT语句

以下是我正在尝试的查询:

SELECT Employees.Last_Name, Employees.First_Name, Employees.PositionID FROM 
Employees,
   (SELECT Positions.PositionID, SUM(Positions.Position_Salary) AS Salary FROM 
   Positions GROUP BY PositionID) AS Subquery
   WHERE Employees.PositionID = Subquery.PositionID
正如我们所看到的,我试图根据每个记录各自的PositionID对每个记录进行分组,其中包含一个工资汇总列。不幸的是,“薪资”列没有出现

注意:

在随后的测试中,我删除了Employee.First\u Name、Employee.Last\u Name,但仍然没有显示工资总额列

你知道这是怎么回事吗?

你需要在SELECT子句中添加Salary列:


如果我了解到您希望为每位员工提供其职位的总工资:

SELECT 
  Employees.Last_Name, 
  Employees.First_Name, 
  Employees.PositionID,
  (SELECT SUM(Positions.Position_Salary) 
   FROM Positions 
   WHERE Employees.PositionID = Positions.PositionID) AS TotalSalary
FROM Employees

尝试在第一个SELECTyes中选择Subquery.SALARY列,但SALARY位于Positions表中,而不是Employees表中,这是第一个select语句在尝试选择Subquery时提取的结果。在first select中选择SALARY?请参阅下面我对穿刺者的答复。他还建议说:@Matthew是一名分配了1个以上职位的员工,同一职位是否有1个以上的工资?这显示了每个人的工资,但不幸的是,它没有根据组在第条How come中指示的职位ID对工资进行分组?在查询中,您将薪资定义为SUMPositions.Position\u Salary。这是职位工资的总和。我不知道为什么它不起作用。如我所说,它显示薪水,但它不会根据职位薪水进行汇总*
SELECT 
  Employees.Last_Name, 
  Employees.First_Name, 
  Employees.PositionID,
  (SELECT SUM(Positions.Position_Salary) 
   FROM Positions 
   WHERE Employees.PositionID = Positions.PositionID) AS TotalSalary
FROM Employees