Bonjour, j'execute 2 requetes afin de comparer les données d'une table par rapport à une autre et de retourner les données différentes.
Voici mes 2 requetes :
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 requeteMySQL := 'SELECT * FROM infor WHERE ref IN (SELECT ref FROM exchange) AND (' + 'entreprise NOT IN (SELECT entreprise FROM exchange) ' + 'OR nom NOT IN (SELECT nom FROM exchange) ' + 'OR prenom NOT IN (SELECT prenom FROM exchange) ' + 'OR adresse NOT IN (SELECT adresse FROM exchange) ' + 'OR ville NOT IN (SELECT ville FROM exchange) ' + 'OR CP NOT IN (SELECT CP FROM exchange) ' + 'OR pays NOT IN (SELECT pays FROM exchange) ' + 'OR tel_ent NOT IN (SELECT tel_ent FROM exchange) ' + 'OR tel_ent2 NOT IN (SELECT tel_ent2 FROM exchange) ' + 'OR portable NOT IN (SELECT portable FROM exchange) ' + 'OR fax NOT IN (SELECT fax FROM exchange))' + 'ORDER BY ref';
Dans la majorité des cas j'obtiens bien une table dans laquelle je retrouve les champs des 2 tables différentes que je peux associer par paire à partir du champ "ref". Cependant je me retrouve avec des lignes seules... Il trouve une différence d'une table vers une autre mais pas dans l'autre sens !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 requeteMySQL := 'SELECT * FROM exchange WHERE ref IN (SELECT ref FROM infor) AND (' + 'entreprise NOT IN (SELECT entreprise FROM infor) ' + 'OR nom NOT IN (SELECT nom FROM infor) ' + 'OR prenom NOT IN (SELECT prenom FROM infor) ' + 'OR adresse NOT IN (SELECT adresse FROM infor) ' + 'OR ville NOT IN (SELECT ville FROM infor) ' + 'OR CP NOT IN (SELECT CP FROM infor) ' + 'OR pays NOT IN (SELECT pays FROM infor) ' + 'OR tel_ent NOT IN (SELECT tel_ent FROM infor) ' + 'OR tel_ent2 NOT IN (SELECT tel_ent2 FROM infor) ' + 'OR portable NOT IN (SELECT portable FROM infor) ' + 'OR fax NOT IN (SELECT fax FROM infor))' + 'ORDER BY ref';
Ce problème viens t-il de ma requete ou alors éventuellement le traitement perd des données ? Quelqu'un peut il m'aider ? Ce problème est assez embétant... surtout quand on doit traiter plus de 6000 lignes !!!
A faire à la main c'est impensable !
Partager