Bonjour,
Je souhaite combiner dans les résultats de 2 scripts avec UNION, mais le problème : le 1er Script il y a 4 tables (TTR, MD, REAL, PAYER) tandis que sur le 2e Script il y a que 3 table (TTR,MD,REAL), avez vous une solution,
voici le 1er Script
Code : 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 TTR.OAS
  || ' '
  || '('
  || REAL.INTIT
  || ')' AS SERVICE,
  TTR.NUM_INFO REFERENCE_TTR_DE_PAI,
  MD.LIB OBJET,
  TRUNC(MD.DATE_VISA) AS DATE_DE_VISA,
  TRUNC(PAYER.APAY_DATE)      AS DATE_DE_REGLEMENT
FROM MD
LEFT JOIN TTR
ON MD.NUM_INFO = TTR.NUM_INFO
INNER JOIN REAL
ON REAL.OAS         = TTR.OAS
AND REAL.IND = TTR.IND
AND REAL.ACT   = TTR.ACT
AND REAL.COMM    = TTR.COMM
INNER JOIN PAYER
ON TTR.NUM_INFO          = PAYER.APAY_MD
WHERE (PAYER.APAY_DATE <= :p_date_fin
OR PAYER.APAY_DATE     IS NULL)
AND MD.DATE_VISA BETWEEN :p_date_debut AND :p_date_fin
AND MD.MODE_PAIE = '00'
GROUP BY TTR.OAS
  || ' '
  || '('
  || REAL.INTIT
  || ')',
  TTR.NUM_INFO,
  MD.LIB,
  TRUNC(MD.DATE_VISA),
  TRUNC(PAYER.APAY_DATE)
voici le 2e Script

Code : 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
 
SELECT TTR.OAS
  || ' '
  || '('
  || REAL.INTIT
  || ')' AS SERVICE,
  TTR.NUM_INFO AS REFERENCE_TTR_DE_PAI,
  MD.LIB AS OBJET,
  MD.DATE_VISA AS DATE_DE_VISA
FROM MD
LEFT JOIN TTR
ON MD.NUM_INFO = TTR.NUM_INFO
INNER JOIN REAL
ON REAL.OAS         = TTR.OAS
AND REAL.IND = TTR.IND
AND REAL.ACT   = TTR.ACT
AND REAL.COMM    = TTR.COMM
 
WHERE MD.MODE_PAIE = 'OO'
AND MD.DATE_VISA BETWEEN :p_date_debut AND :p_date_fin
GROUP BY TTR.OAS
  || ' '
  || '('
  || REAL.INTIT
  || ')',
  TTR.NUM_INFO,
  MD.LIB,
  MD.DATE_VISA,
  MD.MODE_PAIE
ORDER BY SERVICE,
  DATE_DE_VISA