SQL := 'SELECT Table1.Nom FROM Table1 WHERE Nom NOT IN (SELECT Table2.Nom FROM Table2)';
procedure ... var CommandeSQL : string; I : integer; begin CommandeSQL := 'SELECT Table1.Nom FROM Table1'; ...//Faire Execution SQL CommandeSQL := 'SELECT Table2.Nom FROM Table2 WHERE Nom NOT IN ('; I := 0; while not ADOQuery.Eof do begin if I <> ADOQuery.RecordCount - 1 then CommandeSQL := CommandeSQL + QuoteStr(ADOQuery1.FieldByName('Nom').AsString)+',' else CommandeSQL := CommandeSQL + QuoteStr(ADOQuery1.FieldByName('Nom').AsString)+')'; Inc(I); ADOQuery1.Next; end; ...//Faire Execution SQL end;
... CommandeSQL := 'SELECT Table2.Nom FROM Table2'; ...//Faire Execution SQL CommandeSQL := 'SELECT Table1.Nom FROM Table1 WHERE Nom NOT IN ('; ...
procedure ... var I : integer; begin ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT Table2.Nom FROM Table2'); ...//Faire Execution SQL ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT Table1.Nom FROM Table1 WHERE Nom NOT IN ('); I := 0; while not ADOQuery.Eof do begin if I <> ADOQuery.RecordCount - 1 then ADOQuery1.SQL.Add(QuoteStr(ADOQuery1.FieldByName('Nom').AsString)+',') else ADOQuery1.SQL.Add(QuoteStr(ADOQuery1.FieldByName('Nom').AsString)+')'); Inc(I); ADOQuery1.Next; end; ...//Faire Execution SQL end;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionMais cela ne m'explique pas pourquoi cela ne fonctionne pas avec JOIN ?
Quelle norme suit ADO et ADOQUERY ?