我有两张桌子,雇主和职位:
雇主
电子身份证
易名
位置
电子身份证
薪水
我需要在两个表之间匹配我的eID,确定最高工资是多少,并且只打印eName。有关如何做到这一点的任何建议?我尝试了多种方法,但似乎没有任何效果。
我不确定在哪里放入max(薪水)功能:
select eName
from employer, position
where employer.eID = position.eID
答案 0 :(得分:3)
获得薪水最高的人的姓名......
SELECT e.name
FROM EMPLOYER e
JOIN POSITION x ON x.eid = e.eid
JOIN (SELECT MAX(salary) AS max_salary
FROM POSITION) y ON y.max_salary = x.salary
SELECT e.name
FROM EMPLOYER e
JOIN POSITION p ON p.eid = e.eid
WHERE p.salary = (SELECT MAX(salary)
FROM POSITION)
答案 1 :(得分:0)
加入表格,排序并获得第一个:
select top 1 e.eName, p.salary
from Employer e
inner join Position p on p.eID = e.eID
order by p.salary desc
(这也会返回工资,但如果你真的不想要它,你当然可以删除它。)
答案 2 :(得分:0)
select e.ename,p.salary
from employer e ,position p
where p.salary=(select max(salary) from position)
and e.eid=p.eid