pblm de requete SQL besoin aide !!! - SQL/NoSQL - Programmation
Marsh Posté le 01-05-2006 à 13:25:47
2.
SELECT eleve_nom,eleve_prenom
FROM eleve
WHERE eleve_ville <> 'Bordeaux'
ORDER BY eleve_ville, nom
le not like n'est pas performant. Attention au double quote aussi, la norme prédit l'usage de simple quote pour les chaines de caractères
Marsh Posté le 01-05-2006 à 13:29:55
3. OK
4/5. attention au like, c'est pas génial, mais alors un "=" au lieu de ton like. Like est utilisé quand tu dois rechercher qqch à l'intérieur d'une chaîne.
6. OK
7. ça me semble bon à première vue
8. je crois que tu n'as pas compris, tu es sure que c'est count et pas sum?
select el.eleve, mat.libelle, cl.classe sum(n.note)
from eleve el, matiere mat, noter n
where el.nom_eleve = n.num eleve
and mat.code_matiere = n.code mat
group by el.eleve, mat.libelle;
le sum, et manquerait il pas un group by?
9.
select el.eleve, cl.classe sum(n.note)
from eleve el, matiere mat, noter n
where el.nom_eleve = n.num eleve
and mat.code_matiere = n.code mat
group by el.eleve;
10. ça me semble bon.
11. OK
12. pour la douze, aucune idée. J'ai pas la bd donc difficile de se représenter les données...
Marsh Posté le 01-05-2006 à 18:30:10
Je comprends pas ce que "katiemorgan" vient faire pour "Merignac". En revanche, quand tu demandes dans le langage courant les éléments appartenants à l'ensemble X et les éléments appartenants à l'ensemble Y, il faut demander en SQL les éléments appartenants à X OU Y (d'ailleurs, la requête "1" formulée correctement devrait être "Nom et prenom des eleves habitant ville pessac ou merignac triés par ville puis par nom" )
=> Order by eleve_ville, eleve_nom
Marsh Posté le 01-05-2006 à 23:11:26
Ca fait longtemps que j'ai pas écrit du SQL mais ça devrait être un truc comme ça
select prenom, temps, cumul, sum(temps)
from joueur
group by prenom
order by prenom;
Marsh Posté le 02-05-2006 à 18:08:46
PROF ( code prof, civilité_p, nom_p,prenom_p, taux horaire)
ENSEIGNER(code_prof#,code classe#,code mat#,Volume_horaire)
Hum... j'essaierais bien le truc suivant
select enseigner.code_prof, sum(enseigner.volume_horaire) * prof.taux_horaire
from enseigner, prof
where
enseigner.code_classe='x' and
enseigner.code_prof=prof.code_prof
group by enseigner.code_prof
Bon, c'est pas exactement ça. Ca devrait donner, pour la classe, le prix de chaque matière. Evidemment pour avoir le coût salarial de la classe, faudrait additionner l'ensemble de ces prix mais je vois pas trop comment le faire en 1 requête...
Marsh Posté le 02-05-2006 à 23:25:27
12.
CLASSE(code classe, libelle classe)
PROF ( code prof, civilité_p, nom_p,prenom_p, taux horaire)
ENSEIGNER(code_prof#,code classe#,code mat#,Volume_horaire)
SELECT c.code_classe, sum(p.taux_horaire * e.volume_horaire)
FROM classe c, prof p, enseigner e
WHERE c.code_classe = e.code_classe
AND p.code_prof = e.code_prof
GROUP BY c.code_classe;
Marsh Posté le 03-05-2006 à 15:00:44
Beegee a écrit : 12. |
Simple comme l'oeuf de Colomb - Il fallait juste y penser
Marsh Posté le 01-05-2006 à 13:24:22
1.
SELECT eleve_nom, eleve_prenom
FROM eleve
Where (eleve_ville = «Pessac »
OR eleve_ville = « katiemorgan»)
Order by eleve_ville,nom
c'est pas plutot ça pour la première?