Bonjour ,
J'ai 4 inner join , dont 3 autour d'une table centrale. Le 4ème est un inner join sur une table périphérique . En somme :
A = table centrable
B , C , D = table périphérique
E = second périphérique.
Le double inner join ne fonctionne pas sur SAS ... Etrangement j'ai fait la même requête sur ORACLE et My SQL et la cela fonctionne ???
Code SAS : 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 options compress=yes sortsize=max; libname dbtoto meta library="ma base toto"; proc sql inobs=250; Create table temp_tout_table as select * from dbtoto.table_centrale INNER JOIN dbtoto.table1 ON table_centrale.champ1=table1.champ1 INNER JOIN dbtoto.table2 ON table_centrale.champ2=table2.champ2 INNER JOIN dbtoto.table3 ON table_centrale.champ3=table3.champ3 INNER JOIN dbtoto.table4 ON table3.champ4=table4.champ4 where table_centrale.statut LIKE 'VALIDE'; quit;
Code erreur :
Code SAS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ERROR: Column champ4 could not be found in the table/view identified with the correlation name table3. ERROR: Column champ4could not be found in the table/view identified with the correlation name table3. ERROR: Column table4.champ4 was found in more than one table in the same scope. ERROR: Expression using equals (=) has components that are of different data types.
Ce type de cas n'est pas possible sur SAS ?
Merci de l'aiguillage
Partager