一次选择具有不同查询的两列

时间:2014-01-13 17:15:45

标签: sql

我有2个表"Staffs""Staffjoins"

Staffs中: 两栏:

"sid"- teacher ID (primary Key) 
"Sname"- Name of Teacher

Staffjoins中: 三栏

"sid"-teacher ID foreign key (refrences from Staffs table)
"cname" - college name,
"Salary" - teacher salary

我的问题是:

我在具有唯一sid的员工中输入10行,并使用sname输入sid

然后我在staffjoins表中输入10行,我输入了: 3行cname="College1", 2行cname="College2", 2行cname="College3", 3行cname="College4"

在所有行中都有“salary”和不同的sid,那么我想以每个具有大学名称的学院获得最高薪水的老师的名字。

1 个答案:

答案 0 :(得分:1)

薪水在错误的表格中,应该有一个大学表。

你能做的最好就是这样。

Select c.cname, t.Sname
From StaffJoins c
Inner join (Select cname, Max(Salary) as Salary From StaffJoins) as biggestearners
on biggestearners.cname = c.name and biggestearners.salary = c.salary
inner join Staff t on c.sid = t.sid