oui, cai laiiiid le calcul domaiiiine [:sisicaivrai]
speedyop
calcul domaine ? comprends pas...
le nombre d'eleve utilisant chaque imprimante?
sisicaivrai
speedyop a écrit a écrit :
ben ca devrait marcher mais c tres laid le in avec une sous requette niveau perf c pas top :non:
mais
mais mais
c'est un exercice théorique ;)
alors perf... :sarcastic: mais je vais pitete changer ca en jointure, si vous insistez... ;)
mais calcul domaaaaiiiiine :(
speedyop
ben ca devrait marcher mais c tres laid le in avec une sous requette niveau perf c pas top :non:
sisicaivrai
speedyop a écrit a écrit :
pkoa tu met pas une jointure comme jupiler te l'as conseillé?
SELECT E.nom, E.prenom FROM etudiant as E
inner join util-imprim as UI
on UI.nomat=E.nomat
and UI.nomI='AAA'
and sum(UI.nbpages)>350
order by
E.nom,
E.prenom
mais la version que je donne est-elle aussi valable? J'ai peur de me planted avec une jointure... 'fin sinon :jap: je vais me débrouiller pour le SQL, mais en algèbre relationnel-domaine je ne vois VRAIMENT pas...
speedyop
pkoa tu met pas une jointure comme jupiler te l'as conseillé?
SELECT E.nom, E.prenom FROM etudiant as E
inner join util-imprim as UI
on UI.nomat=E.nomat
and UI.nomI='AAA'
and sum(UI.nbpages)>350
order by
E.nom,
E.prenom
sisicaivrai
sisicaivrai a écrit a écrit :
alors, c bon comme ca? Et pour le calcul de domaine, je ne vois absolument pas comment faire... :ouch:
y a personne qui voit? :(
sisicaivrai
alors, c bon comme ca? Et pour le calcul de domaine, je ne vois absolument pas comment faire... :ouch:
sisicaivrai
jupiler a écrit a écrit :
SELECT nom, prenom, etudiant.nomat FROM etudiant WHERE nomatIN(SELECT util-imprim.nomat FROM util-imprim WHERE nomI='AAA' AND SUM(nbpages)>350 GROUP BY nomat)
:jap: et comme ca ca marche? Je dois faire la requete en une fois...
(c de la théorie, hein ;) )
:hello:
jupiler
ensuite la jointure:
SELECT e.nom, e.prenom, sum(ui.nbpages) FROM etudiant e, util-imprim ui WHERE e.nomat = ui.nomat and ui.nomI='AAA' group by e.nom, e.prenom
là tu as la somme des pages par étudiant.
rajoute la condition having sum(ui.nbpages) > 350 pour filtrer sur ceux qui impriment bcp
jupiler
commence par éviter le select in et utilises les jointures, surtout que ta requetes est fausse syntaxiquement il manque "nomat ":
SELECT nom, prenom, etudiant.nomat FROM etudiant WHERE nomatIN(SELECT util-imprim.nomat FROM util-imprim WHERE nomI='AAA' AND SUM(nbpages)>350 GROUP BY nomat)
[edtdd]--Message édité par jupiler--[/edtdd]
sisicaivrai
ce que je dois faire : afficher tous les noms et prenoms des etudiants dont le nbr de pages imprimees sur l'imprimante AAA est supérieur a 350
j'ai:
une table etudiant: nom, prenom, nomat, ...
une table util-imprim: nomI, nomat, date, heure, nbpages
est ce que ca a une chance de marcher:
SELECT nom, prenom, etudiant.nomat FROM etudiant WHERE IN(SELECT util-imprim.nomat FROM util-imprim WHERE nomI='AAA' AND SUM(nbpages)>350 GROUP BY nomat)
et je dois aussi faire ca en calcul relationnel domaine [:sisicaivrai]