Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Suche über mehrere Tabellen

  Alt 27. Jun 2007, 14:59
Hallo,


Probier erst mal aus, ob Paradox überhaupt Union kann



with Query do
begin
SQL.Clear;
SQL.Add('Select Prot_6_2007.Datum, Prot_6_2007.Name');
SQL.Add('From Prot_6_2007 ');
SQL.Add('Where ((Prot_6_2007>=:StartDate) And (Prot_6_2007<=:EndDate)) ');
SQL.Add('Union');
SQL.Add('Select Prot_7_2007.Datum, Prot_7_2007.Name');
SQL.Add('From Prot_7_2007 ');
SQL.Add('Where ((Prot_7_2007>=:StartDate) And (Prot_7_2007<=:EndDate)) ');

ParamByName('StartDate').AsDateTime := tdtStartDate; // vom Picker
ParamByName('EndDate').AsDateTime := tdtEndDate; // vom Picker
end;

Dann baue die Query dynamisch auf,
mein Prot_6_2007, Prot_7__2007 stehen z.B. in einer TStringlist,
über die du dann per for-Schleife die Query zusammenbaust.

Als Optimierung wäre halt zu überdenken, ob bestimmte Tabellen
überhaupt nicht benutzt werden müssen.
Wenn z.B. 1.3. bis 1.4 als Suche eingegeben werden,
macht es keinen Sinn, die 6er Tabelle hier zu verwenden.

Zu den Parametern.
Ich weiss jetzt nicht, ob der Parameter zweimal verwendet werden kann,
wenn nicht nimm halt StartDate0, StartDate1 usw.


Heiko
Heiko
  Mit Zitat antworten Zitat