mysql - SQL 子查询列未显示
问题描述
目前我正在尝试从两个单独的表中查询特定列。为此,我选择SELECT
在FROM
子句中使用语句。
这是我正在尝试的以下查询:
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
的总和列对每个记录进行分组Salary
。不幸的是,该Salary
列没有出现。
观察:
在随后的测试中,我删除了 Employee.First_Name、Employee.Last_Name,但 Salary 的求和列仍然没有出现。
知道这里发生了什么吗?
解决方案
您需要将该Salary
列添加到SELECT
子句中:
SELECT Employees.Last_Name, Employees.First_Name, Employees.PositionID,
Subquery.Salary -- added it here
FROM Employees,
(SELECT Positions.PositionID, SUM(Positions.Position_Salary) AS Salary FROM
Positions GROUP BY PositionID) AS Subquery
WHERE Employees.PositionID = Subquery.PositionID
推荐阅读
- amazon-web-services - 尝试调用 CreateBatchWrite 时出现错误,“AsyncLocal 中不存在实体”
DynamoDBContext 对象的方法 - python - 如何使用 Selenium 和 Python 点击元素
- python-3.x - 安装tensorflow时如何解决此错误?
- sql - 筛选 MAX 开始日期
- ios - Ionic v1 安全区域不适用于 Xcode 11.5 模拟器
- sql - SQL - 连接列中的值,但只保留第一个非空值
- android - 编辑 Firestore 集合组查询文档
- android - Android NavController:从默认导航图之外的主要活动导航到片段
- node.js - Redis 错误“ReplyError:ERR 值不是整数或超出范围”
- python - np.ones(size, 'd') 'd' 做什么?