Différence/Somme plusieurs tables

cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009 - 27 déc. 2008 à 15:11
cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009 - 19 janv. 2009 à 00:06
Salut,

J'aimerais obtenir les valeurs d'une table moins la somme des valeurs de 3 autres tables. Je procède donc comme ceci :

SELECT

A.S_1 - SUM(T.S1) as S_1,
A.S_2 - SUM(T.S2) as S_2,
A.S_3 - SUM(T.S3) as S_3,
A.S_4 - SUM(T.S4) as S_4,
A.S_5 - SUM(T.S5) as S_5,
A.S_6 - SUM(T.S6) as S_6,
A.S_7 - SUM(T.S7) as S_7,
A.S_8 - SUM(T.S8) as S_8

FROM
(SELECT S_1, S_2, S_3, S_4, S_5, S_6, S_7, S_8, idIG FROM ARMY) A,

(SELECT S1, S2, S3, S4, S5, S6, S7, S8, idInvader FROM RETOUR UNION ALL SELECT S1, S2, S3, S4, S5, S6, S7, S8, idInvader FROM EXPLORE UNION ALL SELECT S1, S2, S3, S4, S5, S6, S7, S8, idInvader FROM KOMBAT) T
WHERE A.idIG T.idInvader "Test"

J'obtiens bien la somme sur les 3 autres tables (alias : T), mais rien concernant la première (alias : A).

Quelqu'un pourrait-il me filer un coup de pouce, s'il vous plait ? :)

Merci.

A.

3 réponses

cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009
27 déc. 2008 à 15:12
Oops. Je ne me suis trompé. Je ne voulais pas mettre le sujet dans le thème "Oracle/Requêtes". Navré.
0
cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009
27 déc. 2008 à 23:24
Voici ma requête modifiée :

SELECTA.S_1-SUM(T.S1)ASS_1,A.S_2-SUM(T.S2)ASS_2,A.S_3-SUM(T.S3)ASS_3,A.S_4-SUM(T.S4)ASS_4,A.S_5-SUM(T.S5)ASS_5,A.S_6-SUM(T.S6)ASS_6,A.S_7-SUM(T.S7)ASS_7,A.S_8-SUM(T.S8)ASS_8
FROM(

SELECTS_1,S_2,S_3,S_4,S_5,S_6,S_7,S_8,idIG
FROMARMY
WHEREidIG="Test"
)A,(

SELECTS1,S2,S3,S4,S5,S6,S7,S8,idInvader
FROMRETOUR
UNIONALLSELECTS1,S2,S3,S4,S5,S6,S7,S8,idInvader
FROMEXPLORE
UNIONALLSELECTS1,S2,S3,S4,S5,S6,S7,S8,idInvader
FROMKOMBAT
WHEREidInvader="Test"
)T

J'ai vu où résidait le problème : s'il n'y a pas de champ idInvader="Test" soit dans la table RETOUR, EXPLORE ou KOMBAT alors je n'ai pas de résultat. Sinon ca marche... Vous avez une idée pour rémédier à ce probleme?
0
cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009
19 janv. 2009 à 00:06
UP ?
0
Rejoignez-nous