Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Débuter
Débuter Forum d'entraide pour débuter avec Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2011, 18h23   #1
Candidat au titre de Membre du Club
 
Lecompte Remi
Inscription : mai 2010
Messages : 57
Détails du profil
Informations personnelles :
Nom : Lecompte Remi

Informations forums :
Inscription : mai 2010
Messages : 57
Points : 12
Points : 12
Par défaut Fonction Max Multilignes

Bonjour,

J'ai encore un soucis

Cette fonction marche pour afficher le maximum mais le problème c'est que je dois en plus afficher le nom du plat et l'id

()

Code :
1
2
3
4
5
6
7
 SELECT MAX(m.nombre) FROM
  (SELECT SUM(ps.quantite) AS nombre
  FROM plats p, porte_sur ps, types_plats tp
  WHERE p.id_plat = ps.id_plat
  AND p.id_type_plat = tp.id_type_plat
  AND tp.id_type_plat = 1
  GROUP BY p.id_plat, p.libelle) m
Le problème étant que la fonction MAX ne peut pas fonctionner sur du multiligne et je voudrais qu'il me sorte la commande qui à été le plus commandé et non pas toutes les commandes

Je sais pas si c'est claire
bob456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 14h19   #2
Membre éprouvé
 
Avatar de totoche
 
Inscription : janvier 2004
Messages : 1 071
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 1 071
Points : 478
Points : 478
Une idée ..

Code :
1
2
3
4
5
6
7
8
9
10
11
SELECT p.id_plat, p.libelle
  FROM plats p, porte_sur ps, types_plats tp
  WHERE p.id_plat = ps.id_plat
  AND p.id_type_plat = tp.id_type_plat
  AND tp.id_type_plat = 1
  HAVING MAX(SELECT SUM(ps.quantite) AS nombre
  FROM plats p, porte_sur ps, types_plats tp
  WHERE p.id_plat = ps.id_plat
  AND p.id_type_plat = tp.id_type_plat
  AND tp.id_type_plat = 1
  GROUP BY p.id_plat, p.libelle)
__________________
La patience est un arbre aux racines amères, mais aux fruits ci-doux.
totoche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 15h30   #3
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 928
Points : 1 928
Avec RANK par exemple :
Code :
1
2
3
4
5
6
7
8
9
10
SELECT m.id_plat, m.libelle,
       m.nombre AS max_nombre 
  FROM (SELECT p.id_plat, p.libelle, SUM(ps.quantite) AS nombre,
               rank() over(ORDER BY sum(ps.quantite) DESC) AS rk
          FROM plats p, porte_sur ps, types_plats tp
         WHERE p.id_plat = ps.id_plat
           AND p.id_type_plat = tp.id_type_plat
           AND tp.id_type_plat = 1
         GROUP BY p.id_plat, p.libelle) m
 WHERE rk = 1
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h38.


 
 
 
 
Partenaires

Hébergement Web