Correction requete

Fermé
amedtiap Messages postés 5 Date d'inscription dimanche 12 janvier 2014 Statut Membre Dernière intervention 12 janvier 2014 - 12 janv. 2014 à 09:32
jee pee Messages postés 40465 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 novembre 2024 - 12 janv. 2014 à 17:49
Bonjour ,

j'ai essaye d'effectuer cette requete et je n' y arrive pas en oracle

"Créez une instruction qui affiche chaque poste, le salaire par poste dans chacun des
services 20, 50, 80 et 90, ainsi que le salaire total par poste."

On a la table employees, constituee de :"employee_id","department_id","job_id","salary"

Urgent et merci

3 réponses

Froulik Messages postés 3779 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 15 avril 2014 943
12 janv. 2014 à 09:34
Désolé mais CCM ne peut pas répondre favorablement à ta demande.
Regarde ici :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/

1
tapion76 Messages postés 3775 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 12 janvier 2014 870
12 janv. 2014 à 09:35
+1 Froulik :D
0
Froulik Messages postés 3779 Date d'inscription lundi 11 novembre 2013 Statut Membre Dernière intervention 15 avril 2014 943
12 janv. 2014 à 09:36
merci à toi tapion :o)
0
tapion76 Messages postés 3775 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 12 janvier 2014 870
12 janv. 2014 à 09:37
Du coup je suis en dessous :(
0
amedtiap Messages postés 5 Date d'inscription dimanche 12 janvier 2014 Statut Membre Dernière intervention 12 janvier 2014
12 janv. 2014 à 16:21
je voulais si c possible avoir des astuces,des conseils ........

et merci quand meme
0
tapion76 Messages postés 3775 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 12 janvier 2014 870
12 janv. 2014 à 09:34
Oracle c'est une base SQL non ?
0
amedtiap Messages postés 5 Date d'inscription dimanche 12 janvier 2014 Statut Membre Dernière intervention 12 janvier 2014
12 janv. 2014 à 16:51
j'ai essayer ceci mais mon probleme c'est que toute les colonnes et lignes sont remplises par les memes informations
voici le code :

select distinct emp.job_id as"job",max(distinct a.salary) as"Dept20", max(distinct b.salary) as"Dept50", max(distinct c.salary) as"Dept80", max(distinct d.salary) as"Dept90",sum(distinct( emp.salary))as"Total"

from employees emp,employees a,employees b,employees c,employees d

where a.department_id=20
and b.department_id=50
and c.department_id=80
and d.department_id=90

and emp.job_id in (a.job_id, b.job_id ,c.job_id, d.job_id)

group by emp.job_id
0
jee pee Messages postés 40465 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 novembre 2024 9 425
Modifié par jee pee le 12/01/2014 à 17:29
Bonjour,

Une première chose, tu essaies de caser des select en colonnes (les dept20 ...) on peut y arriver mais dans un premier temps tu devrais te concentrer sur l'utilisation normale du sql, ramener des enregistrements en lignes.

Car avec 5 tables dans le from tu dois avoir droit à un super produit cartésien en nombre de réponses ;-)

donc from employees doit être suffisant.

un where department_id in (20,50,80,90) devrait le compléter

je regrouperais sur job_id, et department_id

et j'utiliserai max(salary) et sum(salary)
0
amedtiap Messages postés 5 Date d'inscription dimanche 12 janvier 2014 Statut Membre Dernière intervention 12 janvier 2014
12 janv. 2014 à 17:39
merci mais je cherche a avoir un numéro de département par colonne et quand le poste ne correspond pas au departement la case correspondante soit vide du genre

| job |dept20 |dept50 |dept80|
| ad_pres | |20000 | |
| ad_pres |17000 | | |
.............


je cherche ce resultat

et merci pour ta reponse
0
jee pee Messages postés 40465 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 novembre 2024 9 425
Modifié par jee pee le 12/01/2014 à 17:48
Pour moi tu ne devrais pas essayer de faire cela. Ce n'est généralement pas le sens des exercices sur la base de formation/test Oracle

le format de la liste devrait être

job, dept, max, somme

aaa 20 2000 5000
aaa 80 3000 8000
0
amedtiap Messages postés 5 Date d'inscription dimanche 12 janvier 2014 Statut Membre Dernière intervention 12 janvier 2014
12 janv. 2014 à 17:45
ok merci mais ect ce que c'est possible
0
jee pee Messages postés 40465 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 novembre 2024 9 425
12 janv. 2014 à 17:49
on doit pouvoir y arriver, quand on maitrise sql, en triturant de multiples sous-requetes ;-)
0