A表:
ID 老师姓名 升学率
1 张老师 80%
2 王老师 85%
3 李老师 83%
4 赵老师 81%
B表
ID 老师姓名 学生姓名
1 张老师 吴xx
2 王老师 方xx
3 李老师 卫xx
4 赵老师 周xx
5 张老师 吴xx
6 王老师 方xx
7 李老师 杨xx
8 李老师 沈xx
9 赵老师 钱xx
10 李老师 韩xx
11 赵老师 周xx
用一条SQL 找到A表中通过率第二的李老师在对应B表中所有学生名
结果是这样:
老师姓名 学生姓名
李老师 卫xx
李老师 杨xx
李老师 沈xx
李老师 韩xx
------解决方案--------------------
--方法1
SELECT
B.老师姓名,B.学生姓名
FROM
(SELECT 老师姓名 FROM (SELECT TOP 1 老师姓名 FROM (SELECT TOP 2 老师姓名 FROM A ORDER BY 升学率 DESC) AS T) AS A
INNER JOIN
B
ON
A.老师姓名=B.老师姓名
--方法2
select * from b where 老师姓名=(select 老师姓名 from (select px=row_number()over(order by 升学率),* from a) as t where px=2)