Servus!
kriege eine bestimmte LEFT JOIN Anweisung einfach nicht hin.
habe die Tabelle Gewerk:
gewerk_id int(11) Nein
gewerk_name varchar(255) Nein
gewerk_meister int(11) Nein 0
gewerk_vertreter int(11) Nein 0
gewerk_angelegt date Nein 0000-00-00
gewerk_ersteller int(11) Nein 0
Wie ihr seht gibt es pro Gewerk(Abteilung) einen Meister und einen Vertreter.
In den Spalten gewerk_meister und gewerk_vertreter sind allerdings nicht die Namen gespeichert sondern deren Personalnummer. Welche auf
Wenn ich nun die Tabelle Gewerk ausgeben lassen will, erhalte ich mit einem normalen SELECT * FROM gewerk aller Felder, allerdings mit Personalnummer der Meister und Vertreter - wie schaffe ich es, dass dort die Nachnamen, Vornamen stehen?
Mit folgendem Statement, erhalte ich zwar Werte allerdings nicht die die gewünscht sind:
-------------------------------------------------------------------
SELECT gewerk.gewerk_name, gewerk.gewerk_vertreter, personal.mit_nachname
FROM gewerk
LEFT JOIN personal
ON(gewerk_meister = personalnummer OR gewerk_vertreter = personalnummer) GROUP BY personal.mit_nachname
--------------------------------------------------------------------
ergebnis:
+-------------+------------------+--------------+
| gewerk_name | gewerk_vertreter | mit_nachname |
+-------------+------------------+--------------+
| Einkauf | 119163 | [NULL] |
| Vertrieb | 116279 | Müller |
| Werkstatt | 109621 | Hans |
| Produktion | 109621 | Franz |
+-------------+------------------+--------------+
Es stimmt zwar, dass Müller und Franz Vertreter sind, aber Hans ist Meister - taucht aber auch auf.
Danke für eure Hilfe!
gruß Franz