Requete SQL

sasafca Messages postés 567 Statut Membre -  
sasafca Messages postés 567 Statut Membre -
Bonjour,

j'ai un petit problème avec une requête, j'aimerai réutiliser la variable, que j'ai ici appelé 'minChambre', que je prends dans mon SELECT et l'utiliser dans le WHERE, mais je ne me rappelle plus de comment faire.

voici la requête si quelqu'un a une idée:

SELECT Min(Num_Chambre) AS minChambre FROM CHAMBRE WHERE Type_Hebergement = 'Dortoir'
AND Capacite > (SELECT SUM(Nombre_Personnes) FROM RESERVATION_HEBERGEMENT WHERE Num_Chambre = minChambre)

Merci

3 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Je ne pense pas que ce soit possible : ton minChambre dépend de ta clause WHERE, qui elle-même dépend de ton minChambre. C'est le serpent qui se mord la queue.

    Je te suggère plutôt une requête de ce genre :
    SELECT MIN(Num_Chambre) AS minChambre FROM (
    	SELECT c.Num_Chambre, SUM(r.Nombre_Personnes) as nombre, c.Capacite
    	FROM RESERVATION_HEBERGEMENT r
    	INNER JOIN CHAMBRE c ON c.Num_Chambre = r.Num_Chambre
    	WHERE c.Type_Hebergement = 'Dortoir'
    	GROUP BY c.Capacite, c.Num_Chambre
    ) occupation
    WHERE Capacite > nombre


    Xavier
    1
  2. cyril1982 Messages postés 110 Statut Membre 12
     
    Bonjour,

    Peut-être que cela pourrait aider :
    Les fonctions d'agrégats se testent dans une clause "having".
    1
  3. sasafca Messages postés 567 Statut Membre 4
     
    Merci ça à l'air de fonctionner !!!
    0