Bonjour,

voilà je suis confronté à une problématique que je n'arrive pas à résoudre et que vous expose :
j'ai 6 tables (TI_EDI_CPT_DIR_AG_COL1,TI_EDI_CPT_DIR_AG_COL2,..... à TI_EDI_CPT_DIR_AG_COL6) en source qui ont la même structure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
COL1		VARCHAR2(255 BYTE)
COL2		VARCHAR2(255 BYTE)
COL3		VARCHAR2(255 BYTE)
LB_TIE		VARCHAR2(255 BYTE)
LB_D_EN_REL	VARCHAR2(255 BYTE)
LB_ACT		VARCHAR2(255 BYTE)
LB_MTF_SEL	VARCHAR2(255 BYTE)
LB_D_ETRN_EPA	VARCHAR2(255 BYTE)
LB_D_MAJ_ETRN_EPA VARCHAR2(255 BYTE)
LB_RESU_ANA	VARCHAR2(255 BYTE)

Je dois insérer/mixer les données de mes 6 tables source vers une table cible dans un certain ordre :
1/ une ligne vide (caractérisée par le code 2 (champ "Col1").
2/ une ligne de libellés (caractérisée par le code 1 (champ "Col1")
3/ une ligne vide (caractérisée par le code 2 (champ "Col1")
4/ une ligne comportant le nom de l'agent (caractérisée par le code 3 (champ "Col1")
5/ une ligne vide (caractérisée par le code 2 (champ "Col1").
5/ une ligne de libellés (caractérisée par le code 4 (champ "Col1")
6/ une ou plusieurs lignes de données (caractérisée par le code 5 (champ "Col1"). S'il y a plusieurs lignes, la 1ere ligne commence par le code 5, les suivantes par le code 6.
7/ une ligne de données (caractérisée par le code 6 (champ "Col1")
8/ une ligne vide (caractérisée par le code 2 (champ "Col1")

Voici le contenu de mes tables source :
1/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
TI_EDI_CPT_DIR_AG_COL1 (correspond à une ligne de libellés, COl1=1)
COl1    Col2          Col3      LB_TIE          LB_D_EN_REL                   LB_ACT   LB_MTF_SEL   LB_D_ETRN_EPA    LB_D_MAJ_ETRN_EPA   LB_RESU_ANA
1	104682240		CONTROLE 	COMPTES A  EXAMINER NOV2010					
1	104682245		CONTROLE 	COMPTES A  EXAMINER NOV2010					
1	104682246		CONTROLE 	COMPTES A  EXAMINER NOV2010					
1	104682247		CONTROLE 	COMPTES A  EXAMINER NOV2010					
1	300762019		CONTROLE 	COMPTES A  EXAMINER NOV2010
2/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
TI_EDI_CPT_DIR_AG_COL2 (correspond à une ligne vide, COl1=2)
COl1    Col2          Col3      LB_TIE          LB_D_EN_REL                   LB_ACT   LB_MTF_SEL   LB_D_ETRN_EPA    LB_D_MAJ_ETRN_EPA   LB_RESU_ANA
2	104682240								
2	104682245								
2	104682246								
2	104682247								
2	300762019
3/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
TI_EDI_CPT_DIR_AG_COL3 (correspond au nom de l'affectataire (=agent), COl1=3 avec son ID associée (Col3=ID agent))
COl1    Col2          Col3      LB_TIE                              LB_D_EN_REL                   LB_ACT   LB_MTF_SEL   LB_D_ETRN_EPA    LB_D_MAJ_ETRN_EPA   LB_RESU_ANA
3	104682240	7140	AFFECTATAIRE : FRANCOIS
3	104682240	35256	AFFECTATAIRE : FRED
3	104682240	7224	AFFECTATAIRE : FABRICE
3	104682240	7264	AFFECTATAIRE : FABIEN
...
...

4/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
TI_EDI_CPT_DIR_AG_COL4 (correspond au lignes de libellés (Col1=4))
COl1    Col2          Col3      LB_TIE              LB_D_EN_REL             LB_ACT          LB_MTF_SEL                              LB_D_ETRN_EPA           LB_D_MAJ_ETRN_EPA       LB_RESU_ANA
4	104682240		CLIENT CONCERNE	    ENTREE EN RELATION	ACTIVITE	OPERATIONS MOTIVANT LA SELECTION	DATE DE L'ENTRETIEN	DATE DE L'ENTRETIEN	RESULTAT DE L'EXAMEN
4	104682245		CLIENT CONCERNE	    ENTREE EN RELATION	ACTIVITE	OPERATIONS MOTIVANT LA SELECTION	DATE DE L'ENTRETIEN	DATE DE L'ENTRETIEN	RESULTAT DE L'EXAMEN
4	104682246		CLIENT CONCERNE	    ENTREE EN RELATION	ACTIVITE	OPERATIONS MOTIVANT LA SELECTION	DATE DE L'ENTRETIEN	DATE DE L'ENTRETIEN	RESULTAT DE L'EXAMEN
4	104682247		CLIENT CONCERNE	    ENTREE EN RELATION	ACTIVITE	OPERATIONS MOTIVANT LA SELECTION	DATE DE L'ENTRETIEN	DATE DE L'ENTRETIEN	RESULTAT DE L'EXAMEN
4	300762019		CLIENT CONCERNE	    ENTREE EN RELATION	ACTIVITE	OPERATIONS MOTIVANT LA SELECTION	DATE DE L'ENTRETIEN	DATE DE L'ENTRETIEN	RESULTAT DE L'EXAMEN
5/
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
TI_EDI_CPT_DIR_AG_COL5 (correspond au lignes de données (Col1=5)) (Col3=ID agent)
COl1    Col2          Col3      LB_TIE                                  LB_D_EN_REL             LB_ACT                  LB_MTF_SEL                              LB_D_ETRN_EPA           LB_D_MAJ_ETRN_EPA       LB_RESU_ANA
5	104682240	7239	2240 XXXXXX X X MONSIEUR TOTO   	10-OCT-97	employe du prive         	1 Emissions de chèques pour 79005	104682240	7239	2240 XXXXXX X X MONSIEUR TOTO   	10-OCT-97	employe du prive         	8 Emissions de chèques pour 69005	104682240	7239	2240 XXXXXX X X MONSIEUR TOTO   	10-OCT-97	employe du prive         	2 Virements de chèques pour 130005	104682240	7239	2240 XXXXXX X X MONSIEUR TOTO   	10-OCT-97	employe du prive         	1 Virement de chèques pour 1659,795	104682240	7224	2240 XXXXXX X X MONSIEUR TATA		04-NOV-97	employe du public        	7 Virements reçus pour 1788.925	104682240	7224	2240 XXXXXX X X MONSIEUR TATA		04-NOV-97	employe du public        	1 Remises de chèques pour 505	104682240	7224	2240 XXXXXX X X MONSIEUR TATA		04-NOV-97	employe du public        	3 Virements reçus pour 121.145	104682240	7224	2240 XXXXXX X X MONSIEUR TATA		04-NOV-97	employe du public        	17 Emissions de chèques pour 826.35	104682240	7224	2240 XXXXXX X X MONSIEUR TATA		04-NOV-97	employe du public        	2 Virements émis pour 1005	104682240	7224	2240 XXXXXX X X MONSIEUR TATA		04-NOV-97	employe du public        	2 Virements émis pour 1005	104682240	7224	2240 XXXXXX X X MONSIEUR TATA		04-NOV-97	employe du public        	7 Prélevements payés pour 766.52€			
...
...
6/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
TI_EDI_CPT_DIR_AG_COL6 (correspond au lignes de données (Col1=6))
COl1    Col2          Col3      LB_TIE                                  LB_D_EN_REL             LB_ACT                  LB_MTF_SEL                              LB_D_ETRN_EPA           LB_D_MAJ_ETRN_EPA       LB_RESU_ANA
6	104682240		2240 XXXXXX X X MONSIEUR TOTO		Jamais signalé		Jamais topé				
6	104682240		2240 XXXXXX X X MONSIEUR TATA		Jamais signalé		Jamais topé				
6	104682240		2240 XXXXXX X X MONSIEUR TITI 		Jamais signalé		Jamais topé				
...
...
La table cible doit ressembler à ça :

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
34
35
36
37
38
39
2	104682240		                                             	          	                                	                                                  
1	104682240		            CONTROLE                     	COMPTES A 	EXAMINER 10 2010                	                                                  
2	104682240	                                             	          	                                	                                                  
3	104682240		AFFECTATAIRE : FRANCOIS                      	          	                                	                                                  
2	104682240		                                             	          	                                	                                                  
4	104682240		          CLIENT CONCERNE                    	DATE RELATION 	ACTIVITE            	         OPERATIONS MOTIVANT LA SELECTION         
5	104682240		02324 XXXXX XXXX XX TOTO                	07/02/1994	PHOTOCOPIE                       	13 REMISES CHEQUES POUR 734417.46 EURO            
6	104682240		JAMAIS SIGNALE                               	          	JAMAIS TOPE                     	249 VIREMENTS RECUS POUR 463486.57 EURO           
6	104682240		                                             	          	                                	2 EMISS. CHQ MONTANT ROND POUR 400000 EURO        
2	104682240		                                             	          	                                	                                                  
3	104682240		AFFECTATAIRE : FRED                       	          	                                	                                                  
2	104682240		                                             	          	                                	                                                  
4	104682240		          CLIENT CONCERNE                    	DATE RELATION 	ACTIVITE            	         OPERATIONS MOTIVANT LA SELECTION         
5	104682240		02324 XXXXXX XXXX XX TATA                     	05/11/2009	TRAVAUX D INSTALLATION           	9 REMISES CHEQUES POUR 43790.13 EURO              
6	104682240		JAMAIS SIGNALE                               	          	JAMAIS TOPE                     	1 TRANSFERTS IMPORT POUR 36138.19 EURO            
2	104682245		                                             	          	                                	                                                  
1	104682245		            CONTROLE                    	COMPTES A 	EXAMINER 10 2010                	                                                  
2	104682245		                                             	          	                                	                                                  
3	104682245		AFFECTATAIRE : FABRICE                              	          	                                	                                                  
2	104682245		                                             	          	                                	                                                  
4	104682245		          CLIENT CONCERNE                    	DATE RELATION   ACTIVITE            	         OPERATIONS MOTIVANT LA SELECTION         
5	104682245		02324 XXXXXX XXXX XX TETE          	        06/09/1996 .	ELECTRICIEN                             249 VIREMENTS RECUS POUR 463486.57 EURO                                                 
6	104682245		                                             	          	                                	                                                  
2	104682246		                                             	          	                                	                                                  
1	104682246		            CONTROLE                     	COMPTES A 	EXAMINER 10 2010                	                                                  
2	104682246		                                             	          	                                	                                                  
3	104682246		AFFECTATAIRE : FABIEN 
2	104682246		                                             	          	                                	                                                  
4	104682246		          CLIENT CONCERNE                    	 DATE RELATION  ACTIVITE            	         OPERATIONS MOTIVANT LA SELECTION         
5	104682246		02137 XXXXXX XXXX XX TITI                	28/10/1996	PLOMBIER                        	18 VIREMENTS RECUS POUR 227018.79 EURO            
6	104682246		JAMAIS SIGNALE                               	          	JAMAIS TOPE                     	1 TRANSFERTS EXPORT POUR 35974.5 EURO             
2	104682246		                                             	          	                                	                                                  
3	104682246		AFFECTATAIRE : PHILIPPE                       	          	                                	                                                  
2	104682246		                                             	          	                                	                                                  
4	104682246		          CLIENT CONCERNE                    	 DATE RELATION 	ACTIVITE            	         OPERATIONS MOTIVANT LA SELECTION         
5	104682246		02137 XXXXXX XXXX XX TUTU                 	09/05/2007	EDITION                          	2 REMISES CHEQUES POUR 53724.32 EURO              
6	104682246		JAMAIS SIGNALE                               	          	TOPE EN 200810                  	1 TRANSFERTS EXPORT POUR 42825.61 EURO            
2	104682246		                                             	          	                                	                                                  
...
La requête que j'ai créée ne me satisfait pas :
select LST.* from (
select * from ti_edi_cpt_dir_ag_col1
union all
select * from ti_edi_cpt_dir_ag_col2
union all
select * from ti_edi_cpt_dir_ag_col3
union all
select * from ti_edi_cpt_dir_ag_col4
union all
select * from ti_edi_cpt_dir_ag_col5
union all
select * from ti_edi_cpt_dir_ag_col6) LST, TI_EDI_LIG_ORDER ORD
WHERE LST.COL1 = ORD.LIG
order by LST.COL2, ORD.TYP, ORD.ORD

avec la table TI_EDI_LIG_ORDER qui a la structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
TYP     LIG     ORD
1	2	1
1	1	2
1	2	3
2	3	1
2	2	2
2	4	3
2	5	4
2	6	5
2	2	6
J'avoue que je n'ai pas d'idée...
Merci d'avance pour votre aide