Bonjour !
J'ai des circuits (électriques) (table CIRCUIT), auxquels sont rattachés des lampes (LAMPE) pour lesquelles on connaît la puissance, et d'autres appareils (AUTRE), dont on connaît également la puissance. Je voudrais calculer la puissance totale rattachée à un circuit, style :
Le problème est que si j'utilise des jointures internes, les circuits qui n'ont que des lampes ou que des autres sont squeezés, bien sûr, et que si j'utilise des jointures externes, des valeurs se retrouvent dupliquées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT CIRCUIT.ID_CIRCUIT, SUM (LAMPE.PUISSANCE) + SUM (AUTRE.PUISSANCE) AS PUISSANCE_TOTALE FROM CIRCUIT JOIN LAMPE ON LAMPE.ID_CIRCUIT = CIRCUIT.ID_CIRCUIT JOIN AUTRE ON AUTRE.ID_CIRCUIT = CIRCUIT.ID_CIRCUIT GROUP BY CIRCUIT.ID_CIRCUIT
Voici donc ma question : sachant que je suis sous Firebird 1.5, qui n'accepte ni les tables temporaires, ni les SELECT dans le FROM, y a-t-il un moyen d'obtenir le résultat en une seule requête ?
Partager