Bonjour à tous,

Désolé pour ne pas connaître toutes les règles et fonctionnement du forum, c'est la première fois que j'en utilise un.
Soyez indulgent s'il vous plaît.

Je vais reformuler mon problème.

Voici ma situation;

J'utilise 2 tables;
Table 1 : Table des Langues
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
 
CREATE TABLE Table1                            
(LALAN INTEGER,                                 
 LACLD INTEGER,                                 
 LATXT CHAR(15),                                
 CONSTRAINT PK_TABLE1 PRIMARY KEY (LALAN, LACLD))
 
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (1, 1, 'FRANCAIS')                      
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (1, 2, 'FRENCH')                        
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (2, 1, 'ANGLAIS')                       
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (2, 2, 'ENGLISH')
Table 2 : Table des Formats
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
 
CREATE TABLE Table2                            
(FMDFORM CHAR(5),                                 
 FMDLANG INTEGER,                                 
 FMDDESC CHAR(10),                                
 FMDDESL CHAR(40),                                
 CONSTRAINT PK_TABLE2 PRIMARY KEY (FMDFORM, FMDLANG))
 
INSERT INTO TABLE2 (FMDFORM, FMDLANG, FMDDESC, FMDDESL)
VALUES ('OUVER',1,'T.OUVERT','TOIT OUVERT')
INSERT INTO TABLE2 (FMDFORM, FMDLANG, FMDDESC, FMDDESL)
VALUES ('OUVER',2,'OPEN TOP','OPEN TOP')   
INSERT INTO TABLE2 (FMDFORM, FMDLANG, FMDDESC, FMDDESL)
VALUES ('PFORM',1,'PL.FORME','PLATE-FORME')
INSERT INTO TABLE2 (FMDFORM, FMDLANG, FMDDESC, FMDDESL)
VALUES ('PFORM',2,'FLAT BED','FLAT BED')
Je fais un join des 2 tables afin d'avoir dans une grille les descriptions
d'un format et ses descriptions multilangue dans la langue de l'usager

Grille pour un usager français
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT FMDFORM, LACLD, LATXT, FMDDESC, FMDDESL
FROM TABLE1 T1                                    
     LEFT OUTER JOIN TABLE2 T2                    
          ON (LALAN = FMDLANG)                  
WHERE LACLD = 1                                 
ORDER BY FMDFORM, LACLD
Grille pour un usager anglais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
SELECT FMDFORM, LACLD, LATXT, FMDDESC, FMDDESL
FROM TABLE1 T1                                    
     LEFT OUTER JOIN TABLE2 T2                    
          ON (LALAN = FMDLANG)                  
WHERE LACLD = 2                                 
ORDER BY FMDFORM, LACLD
Problème;
Si je rajoute un code de langue pour Espagnol
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (1, 3, 'FRANCOS')                      
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (2, 3, 'ANGLOS')                        
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (3, 1, 'ESPAGNOL')                       
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (3, 2, 'SPANISH') 
INSERT INTO TABLE1 (LALAN, LACLD, LATXT)          
VALUES (3, 3, 'SPAGNOL')
Le résultat que j'ai actuellement est;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
FMDFORM          LACLD   LATXT            FMDDESC     FMDDESL    
 OUVER               1   FRANCAIS         T.OUVERT    TOIT OUVERT
 OUVER               1   ANGLAIS          OPEN TOP    OPEN TOP   
 PFORM               1   FRANCAIS         PL.FORME    PLATE-FORME
 PFORM               1   ANGLAIS          FLAT BED    FLAT BED   
 -                   1   ESPAGNOL         -           -
Le résultat du join que je voudrais;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
FMDFORM          LACLD   LATXT            FMDDESC     FMDDESL    
 OUVER               1   FRANCAIS         T.OUVERT    TOIT OUVERT
 OUVER               1   ANGLAIS          OPEN TOP    OPEN TOP   
 OUVER               1   ESPAGNOL         -           -        
 PFORM               1   FRANCAIS         PL.FORME    PLATE-FORME
 PFORM               1   ANGLAIS          FLAT BED    FLAT BED   
 PFORM               1   ESPAGNOL         -           -
Votre aide serait très appréciée.

Merci