Requete SQL
sasafca
Messages postés
567
Statut
Membre
-
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
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
-
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 -
Bonjour,
Peut-être que cela pourrait aider :
Les fonctions d'agrégats se testent dans une clause "having". -