Einzelnen Beitrag anzeigen

automatix

Registriert seit: 1. Mai 2008
Ort: Remscheid
39 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Problem mit Left Outer Join

  Alt 17. Nov 2008, 12:39
Hallo!

Eine Lösung habe ich nicht. Nur ein paar Vorschläge, wobei ich nicht beurteilen kann, ob die zutreffend sind (Abfrage oder Interbase). Mit Interbase habe ich noch nicht gearbeitet.

Sind das wirklich beides left outer join oder ist es vielleicht doch nur ein left outer join.
Dann wäre folgendes möglich:
Delphi-Quellcode:
select
   TABELLE1.*
from
   TABELLE1
   join TABELLE2
      on TABELLE2.ID2 = TABELLE1.ID1
   left outer join TABELLE3
      on TABELLE3.ID3 = TABELLE2.ID4
      and TABELLE3.FARBE = 'rot'
where
   TABELLE1.BEZEICHNUNG = 'test'
oder
Delphi-Quellcode:
select
   TABELLE1.*
from
   TABELLE1
   left outer join TABELLE2
      join TABELLE3
         on TABELLE3.ID3 = TABELLE2.ID4
         and TABELLE3.FARBE = 'rot'
      on TABELLE2.ID2 = TABELLE1.ID1
where
   TABELLE1.BEZEICHNUNG = 'test'
Sinnvolle Indexes für diese Abfrage wären aus meiner Sicht:
TABELLE1:
ID1, BEZEICHNUNG
TABELLE2:
ID2, ID4
TABELLE3:
ID3, FARBE

Seltsam ist allerdings, das es in der IBConsole wesentlich schneller geht. Machen die IBX-Komponenten auf Delphi Seite noch irgendetwas?. Ereigisse, berechnete Werte, etc?

Grüße
  Mit Zitat antworten Zitat