sikove
Messages postés90Date d'inscriptionlundi 17 mars 2008StatutMembreDernière intervention31 mars 2010
-
6 janv. 2009 à 18:36
SQLpro
Messages postés35Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 8 février 2012
-
14 janv. 2009 à 21:48
Salut,
voila ça fait un moment que je cherche comment faire cette requete :
" inserer dans une table temporaire les 3 meilleurs salaires d'une table donnée "
la table sur laquelle on travaillle :
create table employe (
id int primary key,
nom varchar(10),
prenom varchar(10),
salaire int )
insert into employe values(2, 'bkllir', 'sihgham', 3050)
insert into employe values(3, 'deir', 'ayoffub', 260)
insert into employe values(4, 'bdir', 'mehdi', 50)
insert into employe values(5, 'maroir', 'hamza', 10000)
j'ai tout essayé mais ça marche pas
voila mon code
declare am cursor for
select id, nom, prenom, salaire from copie_employe order by salaire desc
declare @ct int, @id int, @nom varchar(10), @prenom varchar(10), @salaire int
set @ct=0
open am
fetch am into @id, @nom, @prenom, @salaire
while (@@fetch_status=0 and @ct<3)
begin
insert into sal_employe values(@id, @nom, @prenom, @salaire)
set @ct=@ct+1
fetch am into @id, @nom, @prenom, @salaire
end
close am
deallocate am
pouvez vous m'aider svp ? je suis vraiment coincé la snif snif ...
SQLpro
Messages postés35Date d'inscriptionsamedi 17 novembre 2007StatutMembreDernière intervention 8 février 20121 14 janv. 2009 à 21:48
SELECT id, nom, prenom, salaire
INTO #MaTableTemp
FROM (SELECT id, nom, prenom, salaire,
RANK() OVER(ORDER BY salaire DESC) AS N
FROM employe) AS T
WHERE N <= 3
-- vérification
SELECT * FROM #MaTableTemp
id nom prenom salaire
----------- ---------- ---------- -----------
5 maroir hamza 10000
2 bkllir sihgham 3050
3 deir ayoffub 260
Frédéric BROUARD - SQLpro - MVP SQL Server
Spécialiste SQL, SGBDR, modéles de données
SQL & SGBDR http://sqlpro.developpez.com/ Expert SQL Server : http://www.sqlspot.com audits - optimisation - tuning - formatio