bonjour
afin d'intégrer des données dans une application, je créé et j'insère dans une table
PROMOS1 (NOM char (20) , PRENOM char (17) )
par une commande ISQL : 524 lignes
Je fais une sélection sur cette table et j'insère par programme Delphi (connecté en ISO_8859_1) dans une autre table
PRATICIEN (PRA_NOM varchar(60) PRA_PRENOM varchar (60))
Le résultat de cette opération crée 344 lignes dans PRATICIEN.
Si j'exécute cette requête (Flamerobin)
le résultat donne 313 lignesCode:
1
2
3
4 select * from PRATICIEN , promos1 where pra_nom=nom and pra_prenom=prenom order by nom,prenom
si j'exécute celle ci
le résultat donne 344 lignesCode:
1
2
3 select nom,prenom from Promos1 where exists (select * from praticien where nom=pra_nom and prenom=pra_prenom) order by nom,prenom
Si je recherche les différences entre les deux ensembles je m'aperçois que toutes les lignes dont le champs 'NOM' ou 'PRA_NOM' contient un "i tréma" sont éliminés dans la 1ere requête.
Je soupçonne donc un problème de table de caractère. Mais j'accède toujours (ISQL, Delphi ou ligne de commande) en précisant ISO8859_1.
Donc je ne vois pas d'où vient le souci.
Et le plus étonnant c'est que si je "force" l'apparition d'une ligne dans la 1ere requête :
la ligne contenant ce champ apparait.Code:
1
2
3
4 select * from PRATICIEN , promos1 where pra_nom=nom and pra_prenom=prenom and nom='ANAÏS'