Announcement

Collapse
No announcement yet.

Mehrere Joins in Abfrage

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

  • Mehrere Joins in Abfrage

    Hallo zusammen,

    ich habe folgende Abfrage:

    SELECT count(AUFTRAGNR)
    FROM Auftrag left outer join Kunde A on Auftraggeber_ID=a.ID,
    Auftrag Left outer Join Personal on Projektleiter_ID=Personal.ID

    als Ergebnis kommt 12.680.696 heraus, obwohl die Tabelle Auftrag nur 3556 Einträge hat. Kann Interbase mehrere Joins nicht auflösen (mit nur einem Join kommt die richtige Anzahl)?
    Wie kann ich dieses Problem umgehen? Bisher habe ich in den Tabellen Kunde und Personal je einen Datensatz "unbekannt" den ich, wenn vom Anwender nix zugewiesen wird, automatisch setzte. Das gefällt mir aber nicht besonders....

    Kennt jemand eine bessere Lösung?

    Danke
    Wolfgang

  • #2
    Hallo,

    in dem. o.g. Beispiel wird die Tabelle <i>Auftrag</i> gleich zwei Mal verwendet, allerdings darf Auftrag unmittelbar <b>vor</b> LEFT OUTER JOIN nicht nochmals aufgeführt werden, da ansonsten ein kartesisches Produkt gebildet wird. Diese Einschränkung hat aber nichts mit dem InterBase zu tun, sondert gilt beim SQL92-Standard allgemein

    Comment


    • #3
      Hallo Andreas,

      vielen Dank für die Korrektur!

      Wolfgan

      Comment

      Working...
      X