我有2个表Corporations
(business_id,corp_name)和Positions
(business_id,salary,location)`
我正在努力找到收入最高的公司名称 在特定地点的位置。
离。什么公司在奥兰多的薪酬最高? (我只想让公司名称和薪资显示为(NASCAR,90000))
SELECT MAX(salary)
FROM Positions
WHERE location = 'Orlando'
GROUP BY compid
然而,不是一个结果,我得到所有公司和他们在奥兰多的职位薪水。
答案 0 :(得分:0)
您需要加入这两个表才能获得商家名称。你没有告诉我们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'
答案 1 :(得分:-1)
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 ;