buttervolk
Neuer Benutzer
- Beiträge
- 4
Hallo zusammen
ich hänge seit Stunden an einem wahrscheinlich einfach zu lösendem Problem.
Ich habe ein DB in MySQLWorkbench mit den Tabellen Mitarbeiter, arbeitet und Stationen.
Also eine n:m, Mitarbeiter - Stationen.
Es sollen alle Paare von Mitarbeitern die auf der selben Station arbeiten ausgeben werden. Jedes paar von Mitarbeitern soll nur 1x ausgegeben werden.
Wie kann ich 2 Mitarbeiter in einer Zeile ausgeben, ist das überhaupt mögl.?
Hier die Tabellen mit bsp. Datensätzen:
Mitarbeiter
PersonalNr | Nachname
123 | Müller
124 | Meier
125 | Schmidt
arbeitet
PersonalNr | StationsNr
123 | A1
124 | A1
125 | A2
Stationen
StationsNr | Bezeichnung
A1 | Zentrale Notaufnahme
A1 | Zentrale Notaufnahme
A2 | Neurologische Intensivstation
Ergebnis sollte so aussehen:
1. PersonalNr | 1. Nachname | 2. PersonalNr | 2. Nachname | StationsNr | Bezeichnung
123 | Müller | 124 | Meier | A1 | Zentrale Notaufnahme
Hier mein verzweifelter Versuch:
SELECT DISTINCT MitarbeiterNr1.PersonalNr AS '1.PersonalNr', MitarbeiterName1.Nachname AS '1.Nachname', MitarbeiterNr2.PersonalNr AS '2.PersonalNr', MitarbeiterName2.Nachname AS '2.Nachname', Stationen.StationsNr, Stationen.Bezeichnung
FROM Mitarbeiter AS MitarbeiterNr1
INNER JOIN Mitarbeiter AS MitarbeiterNr2
ON MitarbeiterNr1.PersonalNr=MitarbeiterNr2.PersonalNr
INNER JOIN Mitarbeiter AS MitarbeiterName1 ON MitarbeiterName1.PersonalNr = MitarbeiterNr2.PersonalNr
INNER JOIN Mitarbeiter AS MitarbeiterName2 ON MitarbeiterName2.PersonalNr = MitarbeiterNr1.PersonalNr
INNER JOIN arbeitet ON MitarbeiterNr1.PersonalNr = arbeitet.PersonalNr
INNER JOIN Stationen ON arbeitet.StationsNr = Stationen.StationsNr
GROUP BY Stationen.StationsNr, Stationen.Bezeichnung
LG Butter
ich hänge seit Stunden an einem wahrscheinlich einfach zu lösendem Problem.
Ich habe ein DB in MySQLWorkbench mit den Tabellen Mitarbeiter, arbeitet und Stationen.
Also eine n:m, Mitarbeiter - Stationen.
Es sollen alle Paare von Mitarbeitern die auf der selben Station arbeiten ausgeben werden. Jedes paar von Mitarbeitern soll nur 1x ausgegeben werden.
Wie kann ich 2 Mitarbeiter in einer Zeile ausgeben, ist das überhaupt mögl.?
Hier die Tabellen mit bsp. Datensätzen:
Mitarbeiter
PersonalNr | Nachname
123 | Müller
124 | Meier
125 | Schmidt
arbeitet
PersonalNr | StationsNr
123 | A1
124 | A1
125 | A2
Stationen
StationsNr | Bezeichnung
A1 | Zentrale Notaufnahme
A1 | Zentrale Notaufnahme
A2 | Neurologische Intensivstation
Ergebnis sollte so aussehen:
1. PersonalNr | 1. Nachname | 2. PersonalNr | 2. Nachname | StationsNr | Bezeichnung
123 | Müller | 124 | Meier | A1 | Zentrale Notaufnahme
Hier mein verzweifelter Versuch:
SELECT DISTINCT MitarbeiterNr1.PersonalNr AS '1.PersonalNr', MitarbeiterName1.Nachname AS '1.Nachname', MitarbeiterNr2.PersonalNr AS '2.PersonalNr', MitarbeiterName2.Nachname AS '2.Nachname', Stationen.StationsNr, Stationen.Bezeichnung
FROM Mitarbeiter AS MitarbeiterNr1
INNER JOIN Mitarbeiter AS MitarbeiterNr2
ON MitarbeiterNr1.PersonalNr=MitarbeiterNr2.PersonalNr
INNER JOIN Mitarbeiter AS MitarbeiterName1 ON MitarbeiterName1.PersonalNr = MitarbeiterNr2.PersonalNr
INNER JOIN Mitarbeiter AS MitarbeiterName2 ON MitarbeiterName2.PersonalNr = MitarbeiterNr1.PersonalNr
INNER JOIN arbeitet ON MitarbeiterNr1.PersonalNr = arbeitet.PersonalNr
INNER JOIN Stationen ON arbeitet.StationsNr = Stationen.StationsNr
GROUP BY Stationen.StationsNr, Stationen.Bezeichnung
LG Butter