Bonjour,
J'ai 2 tables T1 & T2 de structures identiques
Date Operation Débit Crédit
Les champs Date et Operation ne sont jamais vides
Débit OU Crédit est rempli
Je cherche à faire:
Mettre T1.enreg dans T2 si T1 n'a pas de correspondance dans T2.
Par exemple:
Si T1:
date operation debit credit
01/01/08 op1 10 (vide)
02/02/08 op2 20 (vide)
03/03/08 op3 30 (vide)
07/07/08 op7 70 (vide)
et T2:
date operation debit credit
01/01/08 op1 10 (vide)
02/02/08 op2 20 (vide)
03/03/08 op3 30 (vide)
04/04/08 op4 (vide) 40
05/05/08 op5 (vide) 50
06/06/08 op6 60
Je cherche donc à ne rentrer que la ligne T1 du 07/07/08 dans T2
J'ai utilisé le wizard mais celui-ci ne marche que sur 1 champ. Je l'ai donc modifié pour qu'il prenne tous les champs
Voici le SQL:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT [T1].ID, [T1].date, [T1].operation, [T1].debit, [T1].credit, [T2].date, [T2].operation, [T2].debit, [T2].credit FROM T1 LEFT JOIN T2 ON ([T1].credit=[T2].credit) AND ([T1].debit=[T2].debit) AND ([T1].operation=[T2].operation) AND ([T1].date=[T2].date) WHERE ((([T2].date) Is Null) And (([T2].operation) Is Null) And (([T2].debit) Is Null) And (([T2].credit) Is Null));
Mais cela n'a pas l'air de fonctionner comme attendu car Crédit et Débit peuvent être null et là, le SQL déraille. En revanche ça marche quand les champs vides sont mis à 0.
Il doit y avoir une astuce ?
Merci d'avance
Partager