begin process at 2012 02 10 15:34:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Débutant(s)

 > 

[curseur] insérer 3 premiers meilleurs salaires


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[curseur] insérer 3 premiers meilleurs salaires

mardi 6 janvier 2009 à 18:36:32 | [curseur] insérer 3 premiers meilleurs salaires

sikove

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 ...

merci d'avance

mardi 6 janvier 2009 à 18:39:27 | Re : [curseur] insérer 3 premiers meilleurs salaires

sikove

désolé j'ai fait une erreur dans mon premier message, et comme impossible d'éditer  ....

c'est employe et non copie_employe dans le curseur

si seulement je pourrais savoir d'ou vient mon probleme

mercredi 7 janvier 2009 à 08:38:05 | Re : [curseur] insérer 3 premiers meilleurs salaires

amitermi

As tu essayé

declare @ct int
select @ct=3

insert into sal_employe
select top @ct id, nom, prenom, salaire from employe order by salaire desc
mercredi 7 janvier 2009 à 10:21:20 | Re : [curseur] insérer 3 premiers meilleurs salaires

nhervagault

Administrateur CodeS-SourceS
SALUT

Nb c'est syntaxe n'est disponible qu'a partir de SQL SERVER 2005.

Il est possible de la faire avec un chaine de caractere si tu veux que ton 3 soit parametrable

sinon tu peux faire

insert into sal_employe
select top 3  id, nom, prenom, salaire from employe order by salaire desc

Si ton 3 n'est pas parametrable
mercredi 14 janvier 2009 à 21:48:28 | Re : [curseur] insérer 3 premiers meilleurs salaires

SQLpro

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


Cette discussion est classée dans : id, employe, prenom, into, salaire


Répondre à ce message

Sujets en rapport avec ce message

Pb Insert into !!!! Urgent ... [ par tousimages ] Voila je n'arrive pas a soumettre cette requete a accessil y a 21 champsid --> numeroAutocivilite, nom , prenom , societe, adr1, adr2 --> textecodepos Récursivité avec MySQL [ par Flux__ ] Bonjour,J'ai créer la table suivante :##==============================================================#### Table : EMPLOYE                             Recuperer ID pas encore crée [ par Zachs ] Hello j'aimerai pouvoir recuperer l'ID d'un enregistrement que je n'ai pa encore crée pour ou qu'une fois qu'il est crée je puisse le reprendre pour l gestion d'absence d'une ecole [ par nimaga2008 ] Bonjour, j'ai besoin de modéliser la gestion des cahiers de texte pour la gestion d'absence d'une ecole et voici les differents tables : Administrate Aidez moi a trouver la requete SVP (explication tres claire) [ par kertimanoff ] bonjour a tous, mon problem s'ennonce simplement: table clients: -id_client -id_employe (employe en charge de ce client) -blabla (apres les autre UPDATE & JOIN avec SQL/FIREBIRD [ par RV2931 ] Bonjour, J'aurai besoin de faire un truc un peu compliqué avec 2,3 tables. Je ne vois pas trop comment car apparemment, Firebird ne gère pas les UPDA [clos] problème avec mes ID [ par msi079 ] dans ma base de donnée mysql . j'avai des enregistrements que j'ai supprimés .lorsque je fai de nouveaux enregistrements je remarque que le ID ne se r problème résultat requête select [ par slayer07 ] Bonjour, je viens de faire une requête select sur 2 tables. Le souci que j'ai est que lors de l'exécution de la requête,il m'apparait 2 résultats avec jointure et clause like non compatible [ par rmjkaya ] Bonjours tous le monde, J'aimerai savoir si il n'est pas possible de combiner les jointures avec les clauses LIKE car je suis confronté avec ce problè Requete pour compter [ par dentfree ] Je souhaiterai faire une requête pour faire une liste de personne qui ont écrit plus de 5 titres. Je dispose une table personne, titre ainsi qu'une t


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,810 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales