Mysql SQL子查询列未显示
目前,我正试图从两个单独的表中查询特定的列。为此,我选择在FROM子句中使用SELECT语句 以下是我正在尝试的查询: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
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