Bonjour à tous,
J'ai une requete qui me pose beaucoup de soucis, je vous la montre :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
SELECT
  OAS_EL3.CODE CodeEL3,
  OAS_EL2.CODE CodeEL2,
  OAS_BAL1.PERIOD,
 - sum(OAS_BAL1.DEBIT_VALUE) - sum(OAS_BAL1.CREDIT_VALUE) reel
FROM
  OAS_BALANCE OAS_BAL1,
  OAS_ELEMENT  OAS_EL1,
  OAS_ELEMENT  OAS_EL2,
  OAS_ELEMENT  OAS_EL3,
  OAS_GRPLIST  OAS_GRPLIST3,
  OAS_GROUP  OAS_GROUP3,
  OAS_GRPLIST  OAS_PILOTE
WHERE
  ( OAS_BAL1.CMPCODE=OAS_EL1.CMPCODE and OAS_BAL1.EL1=OAS_EL1.CODE  )
  AND  ( OAS_BAL1.CMPCODE=OAS_EL2.CMPCODE and OAS_BAL1.EL2=OAS_EL2.CODE  )
  AND  ( OAS_BAL1.CMPCODE=OAS_EL3.CMPCODE and OAS_BAL1.EL3=OAS_EL3.CODE  )
  AND  ( OAS_EL3.CMPCODE=OAS_GRPLIST3.CMPCODE(+) and OAS_EL3.CODE=OAS_GRPLIST3.CODE(+)  )
  AND  ( OAS_GRPLIST3.CMPCODE=OAS_GROUP3.CMPCODE(+) and OAS_GRPLIST3.GRPCODE=OAS_GROUP3.CODE(+)  )
  AND  ( OAS_PILOTE.CMPCODE(+)=OAS_EL2.CMPCODE and OAS_PILOTE.CODE(+)=OAS_EL2.CODE  )
  AND OAS_BAL1.BALCODE = 'REEL'
GROUP BY
  OAS_GRPLIST3.GRPCODE, 
  OAS_BAL1.BALCODE, 
  OAS_GROUP3.NAME, 
  OAS_EL3.CODE, 
  OAS_EL3.NAME, 
  OAS_EL2.CODE, 
  OAS_EL2.NAME, 
  OAS_EL1.CODE, 
  OAS_BAL1.PERIOD
ORDER BY
  1

Elle est compliquée, mais j'ai simplifié au maximum, elle l'est bcp plus en réalité.
Le but ici est de récupérer la somme des crédits-débits de la table OAS_BAL1
ici on met le filtre OAS_BAL1.BALCODE = 'REEL', ce qui correspond aux chiffres réels. Par contre il existe les mêmes lignes avec cette fois ci le budget OAS_BAL1.BALCODE = 'BUDGET'.
J'aimerais donc grouper ces 2 lignes (reel et budget) en une.
pour avoir réel et budget sur une ligne.
Le souci est qu'en faisant ma requette, je n'arrive pas à récupérer les lignes qui sont présentes dans le budget mais pas le réel et inversement.

Aurriez-vous une solution?
Je n'y arrive pas du tout.
Pour info il est possible pour moi de coder en 9i