【发布时间】:2012-02-12 20:42:38
【问题描述】:
在一个 sql server 数据库中,我正试图通过奖金返回最赚钱的性别。因此,我有一个子查询来计算每个性别的奖金总和,另一个子查询返回最大值,最后,我的主查询返回具有此最大值的性别。但是我的代码不起作用。
选择 E.Gender, maxx.mm
FROM HumanResources.Employee as E, (SELECT MAX(Bonus) as mm FROM (SELECT E.Gender, SUM(SP.Bonus) AS Bonus FROM HumanResources.Employee AS E, Sales.SalesPerson AS SP GROUP BY E.Gender) AS gen) AS maxx其中 E.Gender = gen.Gender;
最后一行:其中 E.Gender = gen.Gender 似乎不起作用,因为 gen.Gender 无法绑定
请帮忙
【问题讨论】:
-
你能展示样本数据和想要的结果吗?在
Employee和SalesPerson之间是否还有一个共同的EmployeeID列?现在你有一个错误的交叉连接(两个表但没有WHERE子句)。
标签: sql-server-2008 join subquery