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