我有两张桌子Corporations (business_id,corp_name)和Positions (business_id,工资,地点)
我正在设法找出公司的名称,在一个特定的地点拥有最高收入的职位。
例如。哪家公司在奥兰多的薪水最高?(我只想看到公司的名称和薪水,比如(NASCAR,90000))
SELECT MAX(salary)
FROM Positions
WHERE location = 'Orlando'
GROUP BY compid然而,我得到的不是一个结果,而是奥兰多的所有公司和他们的职位工资。
发布于 2013-10-11 18:26:26
您需要加入这两个表才能获得业务名称。您没有告诉我们什么是compid,但这就是为什么您要获得多个结果-每个comp_id一个。
假设business_id是公司的外键,这应该能满足您的需要。
SELECT Corporations.Corp_Name, MAX(Positions.Salary)
FROM Positions
INNER JOIN Corporations ON Corporations.Business_id = Positions.Business_id
WHERE Positions.Location = 'Orlando'
If comp_id is your foreign key, use this
SELECT Corporations.Corp_Name, MAX(Positions.Salary)
FROM Positions
INNER JOIN Corporations ON Corporations.Comp_id = Positions.Comp_id
WHERE Positions.Location = 'Orlando'发布于 2013-10-11 18:30:36
ISO/ANSI标准SQL代码:
SELECT c.comp_name, p.salary
FROM Positions p
JOIN Corporations c
ON c.business_id = p.business_id
WHERE p.location = 'Orlando'
ORDER BY p.salary DESC
FETCH FIRST 1 ROWS ONLY ;https://stackoverflow.com/questions/19324746
复制相似问题