Requete complexe (?)
Posté : 07 janv. 2008, 12:46
Bonjour,
je créé un site permettant de saisir des critiques.
je cherche a récupérer l'oeuvre ayant le plus de citique et la meilleur moyenne
j'ai une table Oeuvre(idOeuvre, titre), une table Critique(idCritique, titre, note) et une table de jointure(idOeuvre,idCritique).
j'ai essayer quelque chose comme ca :
mais ca ne fonctionne pas
par contre indépendemment les deux requetes fonctionnent bien mais l'intersection n'a pas l'air de lui plaire
Merci pour vos réponses
je créé un site permettant de saisir des critiques.
je cherche a récupérer l'oeuvre ayant le plus de citique et la meilleur moyenne
j'ai une table Oeuvre(idOeuvre, titre), une table Critique(idCritique, titre, note) et une table de jointure(idOeuvre,idCritique).
Code : Tout sélectionner
CREATE TABLE `critiques` (
`idCritique` int(200) NOT NULL auto_increment,
`titre` varchar(255) NOT NULL default '',
`texte` blob NOT NULL,
`note` int(100) NOT NULL default '0',
PRIMARY KEY (`idArticle`)
)
CREATE TABLE `oeuvre` (
`idOeuvre` int(200) NOT NULL auto_increment,
`titre` varchar(255) NOT NULL default '',
PRIMARY KEY (`idOeuvre`)
)
CREATE TABLE `jointure` (
`idOeuvre` int(200) NOT NULL,
`idArticle` int(200) NOT NULL,
PRIMARY KEY (`idOeuvre`)
)j'ai essayer quelque chose comme ca :
Code : Tout sélectionner
select count(critiques.titre) as somme, oeuvre.titre from critiques, oeuvre, jointure where critiques.idCritiques = jointure.idCritiques
AND oeuvre.idOeuvre = jointure.idOeuvre
group by oeuvre.titre
inter (
select avg(critiques.note) as somme, oeuvre.titre from critiques, oeuvre, jointure where critiques.idCritiques = fointure.idCritiques
AND oeuvre.idOeuvre = jointure.idOeuvre
group by oeuvre.titre )
order by somme descpar contre indépendemment les deux requetes fonctionnent bien mais l'intersection n'a pas l'air de lui plaire
Merci pour vos réponses