Salam
j'ai un problème avec une requête SQL sous Delphi5.
voilà j'ai deux tables E1 et E2, je dois chercher dans E2 tous les enregistrements qui n'existent pas dans E1.
Sachant que les deux tables ont la même structure et que leur clé est composée de 4 champs: CodeDistr,CodeStruc,CodeCFrai,CodEquip
j'ai utilisé la code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 charge.SQL.Add('Select * from ' + QuotedStr(open1.FileName)+' as E1'); charge.SQL.Add('WHERE E1.CodDistr NOT IN '); charge.SQL.Add('(SELECT CodDistr FROM ":Consolid:Equipement.DB" E2 )'); charge.SQL.Add('And E1.CodStruc NOT IN '); charge.SQL.Add('(SELECT CodStruc FROM ":Consolid:Equipement.DB" E2 )'); charge.SQL.Add('and CodeCFrai NOT IN '); charge.SQL.Add('(SELECT CodeCFrai FROM ":Consolid:Equipement.DB" E2 )'); charge.SQL.Add('and CodEquip NOT IN '); charge.SQL.Add('(SELECT CodEquip FROM ":Consolid:Equipement.DB" E2 )');
le résultats de la requête est de 0 enregistrements, comme si elle comparait par un seul champ.
n y a-t-il pas un moyen d'écrire cette requete de la façon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 charge.SQL.Add('Select * from ' + QuotedStr(open1.FileName)+' as E1'); charge.SQL.Add('WHERE E1.CodDistr,E1.CodStruc,E1.CodeCFrai,E1.CodEquip NOT IN '); charge.SQL.Add('(SELECT CodDistr,CodStruc,CodeCFrai,CodEquip FROM ":Consolid:Equipement.DB" E2 )');
cette dernière façon ne marche pas, il m'affiche une erreur où il n'accepte pas la virgule.
Que dois-je faire?
merci
Partager