这是情况。我有两个表,一个是表Tbl_employ
,第二个是tbl_details
。
Tbl_employ
----------
id | name
1 | Ravi
2 | ram
3 | sham
4 | john
Tbl_details
-----------
id | salary | emp_id
1 | 500 | 1
2 | 200 | 2
3 | 400 | 3
4 | 501 | 4
我想返回name of the employee
中薪水最高的tbl_detail
。
这种情况的连接查询是什么?
请建议。提前谢谢。
答案 0 :(得分:2)
也许:
SELECT TOP(1) name
FROM Tbl_employ e INNER JOIN Tbl_details d ON e.id = d.emp_id
ORDER BY d.salary DESC;
基本上,这会将关键字段(id
和emp_id
)上的两个表连接起来,只返回一个最大TOP(1)
行的结果(salary
) (ORDER BY d.salary DESC
)。
答案 1 :(得分:0)
我很欣赏@Max Vernon的答案。 你也可以用另一种方式来做。请试试这个
select t.name from (
select Distinct top 1 salary ,name
from Tbl_employ as E
left outer join Tbl_details as D on D.empid=E.id
order by salary desc
) as t
你可以在这里查看SQL Fiddle