Tach!
SELECT id, code, kurzbeschreibung, art, erstellungsdatum, job, bereichSender, apSender, bereichEmpfaenger, apEmpfaenger, prio, status, fertigstellung_sender, fertigstellung_uhrzeit_sender, fertigstellung_empfaenger, fertigstellung_uhrzeit_empfaenger, beschreibung, ta_titel, tp_titel, ts_titel, tb_titelkurz FROM todo_grunddaten g LEFT JOIN todo_art ON todo_art.ta_code = g.art LEFT JOIN todo_prio ON todo_prio.tp_code = g.prio LEFT JOIN todo_status ON todo_status.ts_code = g.status LEFT JOIN todo_bereich a ON g.bereichSender = a.tb_code LEFT JOIN todo_bereich b ON g.bereichEmpfaenger = b.tb_code
Als Fehlermeldung erhalte ich
1052 - Feld 'tb_titelkurz' in field list ist nicht eindeutig
Verstehe ich nicht, das Feld heißt genau so.
Du hast die Lösung ja schon gefunden, ich sag trotzdem noch ein paar Worte, z.B. falls irgendwer anders drüber stolpert. Die Eindeutigkeit bezieht sich hier nicht auf den Namen, sondern auf die Herkunft. Die ist nämlich nicht klar, wenn es mehrere Felder mit demselben Namen in der Ergebnismenge gibt. Die Dopplung kommt zustande, weil für das gewünschte Ergebnis die Tabelle todo_bereich zweimal gejoint wurde und ihre Felder damit doppelt enthalten sind. Nun muss eindeutig gekennzeichnet werden, welche Tabelle nun gemeint ist, was man durch Voranstellen des Namens oder des vergebenen Alias macht. Im Übrigen empfiehlt es sich auch für die anderen Tabellen einen Alias zu vergeben und deren Felder mit diesem Alias zu versehen. Und zwar nicht, weil es notwendig wäre - ist es ja nicht, solange keine Namensdopplungen auftreten -, sondern weil man so einfacher nachvollziehen kann, welches Feld aus welcher Tabelle kommt.
dedlfix.