Accueil > Forum > > > > comment résoudre cette requete ?
comment résoudre cette requete ?
dimanche 25 mai 2008 à 12:41:08 |
comment résoudre cette requete ?

sikove
|
salut tout le monde, je suis vraiment coincé avec cette requete : - afficher le nom, salaire, departement et le salaire moyen du departement, pour tout les employés qui ont un salaire moyen>= sal moyen de leurs departements ce que j'ai essayé de faire : select avg(sal) from emp as e group by job having avg(sal)>=all(select avg(sal) from emp as r group by depn) and e.depn=(select depn from emp as r where e.depn=r.depn)
mais ça donne des erreurs, et en plus impossible d'ajouter le nom des employés dans la premiere selection ... une idée svp ? merci
|
|
dimanche 25 mai 2008 à 18:54:07 |
Re : comment résoudre cette requete ?

yann_lo_san
|
Salut,
il ne faut pas imbriquer les group by ! Il faut passer par une sous-requete de référence , Voici le test en Transact-SQL (sql-server) :
-- Exemple de table avec quelques données declare @employe table(nom varchar(35), dept varchar(10), salaire money) insert into @employe values('nom1', '13', 1000) insert into @employe values('nom2', '13', 1500) insert into @employe values('nom3', '27', 2000) insert into @employe values('nom4', '10', 1200) insert into @employe values('nom5', '75', 900) insert into @employe values('nom6', '75', 2500) -- Requete avec une reference à une sous-requete (appelée ref) select t1.nom as 'NOM', t1.salaire as 'SALAIRE', ref.dept as 'DEPT', ref.avgSalaire as 'SALAIRE MOYEN DU DEPT' from @employe t1, (select t2.dept, avg(t2.salaire) as 'avgSalaire' from @employe t2 group by t2.dept) as ref where t1.dept = ref.dept and t1.salaire >= ref.avgSalaire order by t1.dept
-- Le résultat est :
NOM SALAIRE DEPT SALAIRE MOYEN DU DEPT ----------------------------------------------------------------- nom4 1200.0000 10 1200.0000 nom2 1500.0000 13 1250.0000 nom3 2000.0000 27 2000.0000 nom6 2500.0000 75 1700.0000
|
|
dimanche 25 mai 2008 à 22:06:59 |
Re : comment résoudre cette requete ?

sikove
|
ah ok je savais pas qu'on pouvait faire ce truc ^^
j'ai d'autres requetes auquel je n'ai pas trouvé la réponse :
- obliger la majuscule, et doit contenir au moins 2 caratéres (nom char) - la premiere caractere s'elle est renseigné, doit etre comprios entre a et z (titre char) - sexe s'il est renseigné, ne doit accepter que les valeurs m et f (sexe char)
tu pourrais m'aider stp ?
merci
|
|
lundi 26 mai 2008 à 20:35:08 |
Re : comment résoudre cette requete ?

yann_lo_san
|
Rebonjour,
Ben va falloir commencer à bosser un peu non ?
Bon voilà pour tes problèmes :
-- la fonction upper pour les majuscules, la fonction len pour la taille d'une chaine : -- et un pattern like pour avoir la première lettre entre a et z
selectupper(nom), titre from @employe wherelen(nom) >= 2 and titre like'[a-z]%'
-- Concernant la contrainte sur le sexe -- voilà la solution facile et plutot bète car elle rejette tous les champs qui n'ont pas les caracteres m ou f
and sexein('m', 'f')
-- voilà une solution plutot technique : --Création d' une règle de base de donnée liée à la colonne voulue.
USE master
CREATE RULE rule_sexe AS @valeursin('m', 'f') or @valeur is null EXEC sp_bindrule 'rule_sexe' , 'employe.sexe'
-- A chaque INSERT dans la colonne sexe, la contrainte s'active
|
|
lundi 26 mai 2008 à 22:52:41 |
Re : comment résoudre cette requete ?

sikove
|
merci, y'a des trucs que je savais pas ^^
enfaite dans la question 1 c'etait en realité une constrainte à faire : il faut obliger que le champ soit majuscule, j'ai essayé ça
constraint test check( (upper(champ)=champ))
mais cela n'a rien donné.... tu sais comment faire stp ?
merci encore
|
|
mardi 27 mai 2008 à 13:36:18 |
Re : comment résoudre cette requete ?

yann_lo_san
|
Salut,
Je peux t'aider même si cela est assez facile à déduire :
Les chaine non unicode (varchar) sont des suites de nombres (ASCII), le a est different du A dans la suite ascii.
On en déduit donc ceci :
create table bidule ( c1 varchar(35)check(ascii(c1)=ascii(upper(c1))) );
|
|
Cette discussion est classée dans : moyen, requete, salaire, sal, depn
Répondre à ce message
Sujets en rapport avec ce message
aide requete [ par kamikaz666 ]
Bonjour,Je voudrais avoir la réponse de la requête suivante:"les 3 meilleurs salaires de la table employés"j'ai essayé la requête suivante mais ça ne
Probleme requete avec LIKE [ par Bigbangss ]
Bonjour,Voila je n'arrive pas à exprimer ma requete.Je souhaiterai afficher tout les éléments d'un enregistrement présents dans une table où une des c
Requete de classement avec plusieurs tables [ par slider04 ]
Bonjour, j'ai deux tables, une table client et une table temps. je souhaiterais en ressortir le classement de temps selon le niveau et le sexe pour le
base de donnée géolocalisation [ par pascb423 ]
Bonjour, j'ai une base de donnée qui contient les adresses ip d'après les pays. mon problème c'est que la requete que je fait me donne un résultat fau
requete MySQL [ par xactise ]
Bonjour et d'avance merci a ceux qui lisent mon post.j'ai un petit souci avec une requete SQL.j'explique ce que je souhaite faire : admetons qu'on est
jointure triple [ par petitnounoursjoyeux ]
Bonjour tout le monde, je galère depuis un bon moment, j'ai été voir divers forums et tuto, mais pas moyen de faire cette requete de #&#$!#% en gros :
requete [ par MANURELAIS ]
Salut à tous,Voilà j'ai besoin de vous car je n'arrive pas a faire:Une bd 2 tables (la base n'est pas de moi) Produit ( N°, NOM,) et Categorie(N°categ
besoin d'aide pour une requete sql [ par elfifie ]
J'ai une table Facture qui contient les champs ID_Facture et Montant.Une autre table Achat qui contient les champs Nom et ID_Facture.Sachant que chaqu
appeler un état avec 2 parametres [ par elfifie ]
J'arrive bien à ouvrir un état en lui envoyant 1 parametre en faisant :DoCmd.OpenReport stDocName, acPreview, , requeteoù requete = "[Champ] = 'MonCri
[curseur] insérer 3 premiers meilleurs salaires [ par 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 d
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Forum
BESOIN D'UN BIBESOIN D'UN BI par michimichid
Cliquez pour lire la suite par michimichid
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|