这样会报消息 207,级别 16,状态 1,第 6 行 列名 'EmployeeID' 无效。 消息 207,级别 16,状态 1,第 4 行 列名 'EmployeeID' 无效。
时间: 2024-03-07 22:49:59 浏览: 100
提示报错行号
非常抱歉,我刚才的查询有误,导致你遇到了新的错误。请尝试以下查询:
```
SELECT e.EmployeeID, e.Name, e.Education, e.Birthday, e.Sex, e.Workyear, e.Address, e.PhoneNumber
FROM Employees202207210212 e
JOIN (
SELECT EmployeeID, SUM(income) - SUM(expense) AS TotalIncome
FROM Salary2022070210212
GROUP BY EmployeeID
) AS EmployeeIncome ON e.EmployeeID = EmployeeIncome.EmployeeID
WHERE EmployeeIncome.TotalIncome <= 2500
GROUP BY e.EmployeeID, e.Name, e.Education, e.Birthday, e.Sex, e.Workyear, e.Address, e.PhoneNumber, EmployeeIncome.TotalIncome;
```
在这个查询中,我们将 GROUP BY 子句中添加了 `EmployeeIncome.TotalIncome`,这是子查询中计算的总收入减去总支出的结果。这样,我们就可以避免出现“每个 GROUP BY 表达式必须至少包含一个不是外部引用的列”的错误,并且也避免了“列名 'EmployeeID' 无效”的错误。
阅读全文