Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
j'ai deux tables et je veux faire une comparaison entre les deux tables pour savoir les valeurs qui différent.
Table1 contient 4 champs:
rubrique sous-rubrique sous-rubrique-1 sous-rubrique-2
Table2 contient 6 champs:
catégorie sous-catégorie rubrique sous-rubrique sous-rubrique-1 sous-rubrique-2
afin de connaitre quel sont les valeurs de rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2 qui différent j'ai pensé a crée une clé de concaténation des 4 champs et après faire un join.
Qu'en pensez vous?
Merci
Use Qualify()
See this post on how to use it
Do you Qualify?- How to use QUALIFY statement
Bonjour,
pour les clés de concaténation, c'est faisable avec un if (exists....) mais tu risques de te retrouver avec plusieurs clés synthétiques ...
tu peux faire ça aussi pour contourner le problème :
exemple
T1:
LOAD * INLINE [
catégorie , sous-catégorie ,rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2
C1, C12, A, A11, A12, A13
C2, C22, B, B1, B12, B13
C3, C31, A, A21, A22, A23
C4, C41, D, D11, D12, D13
];
T2:
Load *, '' as catégorie, '' as [sous-catégorie] ;
LOAD * INLINE [
rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2
A, A11, A12, A13
B, B1, B12, B13
A, A21, A22, A23
];
pour avoir une seule table et ensuite faire un count (distinct...) dans un graphique pour connaitre les differences ...
but how can i use the fields in my script like Table1.sous-rubrique-1 ?
Salut,
Ajoute un indicateur dans chacune de tes tables (inTable1, inTable2) et joint tes 2 table avec un outer join. Pour faire une jointure il est nécessaire d'avoir au moins un champ en commun pour servir de clé de jointure, il peut très bien en avoir plusieurs, ils vont dans ce cas tous servir de clés de jointure.
Table1:
LOAD
*,
1 as inTable1
INLINE [
catégorie , sous-catégorie ,rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2
C1, C12, A, A11, A12, A13
C2, C22, B, B1, B12, B13
C3, C31, A, A21, A22, A23
C4, C41, D, D11, D12, D13
];
Outer join (Table1)
Load
*,
1 as inTable2
INLINE [
rubrique, sous-rubrique, sous-rubrique-1, sous-rubrique-2
A, A11, A12, A13
B, B1, B12, B13
A, A21, A22, A23
E, E11, E12, E13
];
Tu pourras alors facilement identifier les lignes existantes dans une seul table ou dans les 2 tables :