Bonjour,
J'ai trouvé comment avoir les résultats entre deux bases, une qui recense mes châssis et l'autre qui recense ce qu'il y a dans les châssis, avec la requête suivante :
J'ai fait la même chose avec la base de reservation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ActiveOnBoards.Repartition, COUNT(DISTINCT ActiveOnBoards.EnclosureName) AS Chassis, COUNT(*) AS Nombre FROM ActiveOnBoards, Blades WHERE ActiveOnBoards.EnclosureName=Blades.Enclosure GROUP BY ActiveOnBoards.Repartition
Jusqu'ici tout va bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT ActiveOnBoards.Repartition, COUNT(DISTINCT ActiveOnBoards.EnclosureName) AS Chassis, COUNT(*) AS Nombre FROM ActiveOnBoards, BladesReserved WHERE ActiveOnBoards.EnclosureName=BladesReserved.Enclosure GROUP BY ActiveOnBoards.Repartition
Ensuite, j'ai voulu avoir le résultat de mes deux requêtes dans une seule table :
Ceci fonctionne très bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 SELECT ActiveOnBoards.Repartition, ActiveOnBoards.EnclosureName, Blades.slot FROM ActiveOnBoards, Blades WHERE ActiveOnBoards.EnclosureName=Blades.Enclosure UNION SELECT ActiveOnBoards.Repartition, ActiveOnBoards.EnclosureName, BladesReserved.slot FROM ActiveOnBoards, BladesReserved WHERE ActiveOnBoards.EnclosureName=BladesReserved.Enclosure
Par contre, où j'ai plus de mal, c'est que je voudrais pouvoir compter le nombre d'enclosurename et de slot pour chaque répartition.
J'ai testé ceci :
Cela ne focntionne pas avec ou sans les parenthèses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT Repartition, COUNT(DISTINCT EnclosureName) AS Chassis, COUNT(*) AS Nombre FROM ( SELECT ActiveOnBoards.Repartition, ActiveOnBoards.EnclosureName, Blades.slot FROM ActiveOnBoards, Blades WHERE ActiveOnBoards.EnclosureName=Blades.Enclosure UNION SELECT ActiveOnBoards.Repartition, ActiveOnBoards.EnclosureName, BladesReserved.slot FROM ActiveOnBoards, BladesReserved WHERE ActiveOnBoards.EnclosureName=BladesReserved.Enclosure)
Avez-vous une idée ? Une piste ? Ou alors m'orienter sur une autre méthode ?
Merci d'avance.
Partager