Manu: Left Join funktioniert nicht => Lösung

Hallo zusammen,

ich hab vor ein paar Wochen ein Problem beschrieben, was ich erst einmal zurückstellen mußte, um dann heute wieder mit der Nase drauf zu stoßen: http://forum.de.selfhtml.org/archiv/2007/10/t160318/#m1042515

Die Query (etwas zusammengestutzt):

SELECT DISTINCT
  p.id,
  p.name1,
  p.partnertyp,

a.id AS aid,
  a.adressen_id,

padr.strasse AS pstrasse,
  padr.hausnummer AS phnr,
  padr.plz AS pplz,
  padr.ort AS port,

aadr.strasse AS astrasse,
  aadr.hausnummer AS ahnr,
  aadr.plz AS aplz,
  aadr.ort AS aort

FROM  getpartner(4) p,
  getVertragskonten(4) vk,
  getVertraege(4) v,
  getAnlagen(4) a

LEFT JOIN getAdressen(4) aadr ON (a.adressen_id = aadr.id)
LEFT JOIN getAdressen(4) padr ON (p.id = padr.geschaeftspartner_id)

WHERE  p.id IN (1064279)
AND  vk.geschaeftspartner_id = p.id
AND  v.vertragskonten_id = vk.id
AND  a.vertraege_id = v.id

lieferte mir immer Fehler nach dem Motto 'die Tabelle p existiert zwar, kann aber hier nicht verwendet werden'. Ich hab etwas 'herumgespielt' und siehe da, es klappt doch:

SELECT DISTINCT
  p.id,
  p.name1,
  p.partnertyp,

a.id AS aid,
  a.adressen_id,

padr.strasse AS pstrasse,
  padr.hausnummer AS phnr,
  padr.plz AS pplz,
  padr.ort AS port,

aadr.strasse AS astrasse,
  aadr.hausnummer AS ahnr,
  aadr.plz AS aplz,
  aadr.ort AS aort

FROM
  getVertragskonten(4) vk,
  getVertraege(4) v,

getAnlagen(4) a
  LEFT JOIN getAdressen(4) aadr ON (a.adressen_id = aadr.id),

getpartner(4) p
  LEFT JOIN getAdressen(4) padr ON (p.id = padr.geschaeftspartner_id)

WHERE  p.id IN (1064279)
AND  vk.geschaeftspartner_id = p.id
AND  v.vertragskonten_id = vk.id
AND  a.vertraege_id = v.id

Vielleicht hilft es ja jemandem irgendwann mal...
Danke jedenfalls für die Hilfe Rouven & Ilja...

Gruß,
Manu

--
Vegetarier essen meinem Essen das Essen weg.