Announcement

Collapse
No announcement yet.

Left Outer Join mit mehreren Bedigungen im "On" Teil

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Left Outer Join mit mehreren Bedigungen im "On" Teil

    <b>Hallo,</B><p>

    Bei folgenden SQL-Statement wird die Laufzeit unendlich lang:<p>
    <PRE>
    Select a.PZN, a.Anzahl, a.Summe, a.Datum
    b.Nr
    From Tab1 a Left Outer Join Tab2 b
    On a.PZN=b.PZN And
    a.Datum Between b.StartDatum And b.EndDatum
    </PRE>

    - Tab2 besitz einen INDEX auf PZN und StartDatum und EndDatum !<br>
    - Beide Tabellen haben weniger als 10.000 Datensätze !<p>

    Was kann man machen - gibt es einen Trick ???<p>

    <b>Gruß Tom<br>

  • #2
    Hallo Tom,

    was passiert, wenn Du den between-Teil in zwei <= -Teile auflöst?

    Select a.PZN, a.Anzahl, a.Summe, a.Datum
    b.Nr
    From Tab1 a Left Outer Join Tab2 b
    On a.PZN=b.PZN And
    a.Datum >= b.StartDatum and a.Datum <= b.EndDatum

    MfG JS

    Comment


    • #3
      <b>Hallo JSK,</B>

      Tja, das SQL-Statement läuft ebenfalls ewig. Unter Oracle ist das überhaupt kein Problem was hat die BDE bloss dagegen ?<p>

      Habe auch schon folgendes <b>vergeblich</B> versucht:<p>
      <PRE>
      Select a.PZN, a.Anzahl, a.Summe, a.Datum
      b.Nr
      From Tab1 a
      Left Outer Join Tab2 b On a.PZN=b.PZN
      Left Outer Join Tab2 c On
      a.Datum Between c.StartDatum And c.EndDatum
      </PRE>

      <b>Gruß Tom

      Comment


      • #4
        Hi,

        Die BDE ist eben alles andere als ein SQL-Server !

        Gruß
        Gesin

        Comment

        Working...
        X