Hallo, Vinzenz,
wenn Du keine Tabellen mit Beispieldaten, dem gewünschten Ergebnis und der Begründung dafür lieferst, dann ist das wie im Dunklen umhertappen. Sowas macht mir keinen Spass.
Es handelt sich um einen Monster-Select, der jetzt schon acht JOINS hat. Da wird der Ort dazugeholt, verwendete Sprachen und Übersetzungstabellen. Ich versuche, das Teilproblem herauszulösen:
id name ort_id ueber_id
----- --------------- ------- --------
0815 Aldi-Zentrale 13556 NULL
4711 Aldi Frankfurt 17342 0815
4712 Mustermann 16344 NULL
Mit einem (und nur einem) SELECT greife ich id=4711 und möchte 0815 als zweiten Datensatz dazugeliefert bekommen. Wenn ich id=4712 greife, kommt nur ein Datensatz.
Wenn ich die Zentrale mit einem JOIN dazuhole, muss die Spalte name ein zweites Mal benannt sein, etwa name2. Dadurch kann ich aber im folgenden PHP nicht dieselbe Routine für Filiale und Zentrale nutzen, das möchte ich aber gerne.
Vielleicht suchst Du ja Subqueries, vielleicht willst Du auch überhaupt keine OUTER JOINS, dein Text oben hört sich danach an :-)
Ist das mit einem Subquery zu machen?
SELECT per1.name, ...
FROM personen per1
WHERE per1.id = '4711' OR per1.id = (SELECT per2.id FROM personen per2 WHERE per2.id = per1.ueber_id)
Nee *überleg*
WHERE per1.id = '4711' OR per1.id = per1.ueber_id
Nee, auch nicht. Hast du verstanden, wo mein Problem ist?
Gruß, Gast