Left Join funktioniert nicht => Lösung
Manu
- datenbank
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