我们在学校已经开始了sql子问题,但是我不能像以前的话题那样简单地讨论它们。我甚至不知道怎么开始:
表Oddzialy (意为分支):

Oddzial - branchAdres -地址
表Stanowiska (指职位):

表Pracownicy (指雇员):

好的。问题是:显示来自每个分支机构(Oddzial)的最短雇用工人(Oddzial)。结果应按照就业顺序排序。
提示:使用INNER JOIN (SELECT…) a ON …
发布于 2013-12-08 09:25:09
您可以使用此查询。它使用ROW_NUMBER()为每个分支获取最短的雇用人员:
select * from Pracownicy p
inner join
(select ID,
ROW_NUMBER() OVER (PARTITION BY ID_Oddz ORDER BY Zatrudniony DESC) Ord
from Pracownicy) x
on p.id = x.id and x.Ord = 1
order by Zatrudniony另一种使用“核心”SQL功能的方法是:
select *
from Pracownicy p1
where ID =
(select top 1 ID from Pracownicy p2
where p1.ID_Oddz = p2.ID_Oddz
order by Zatrudniony DESC)
order by p1.Zatrudnionyhttps://stackoverflow.com/questions/20451664
复制相似问题