MySQL - JOIN Befehl - Zuteilung der Spalten

Aslan1905

Neuer Benutzer
Beiträge
4
Hallo,

Code:
SELECT auftrag.ID,
mitarbeiter.ID, mitarbeiter.Vorname, mitarbeiter.Nachname, team.Team, auftrag.EinsatzgebietNr, auftrag.Auftragsdatum, pkw.ID, pkw.Marke, pkw.Modell, pkw.Kennzeichen, ort.ID, ort.Ort, ort.PLZ, ort.Straße, ort.Ort AS HS_Ort, ort.PLZ AS HS_PLZ, ort.Straße AS HS_Straße

FROM auftrag
LEFT JOIN team ON team.ID = auftrag.AuftragnehmerID
LEFT JOIN pkw ON pkw.ID = auftrag.PkwID
LEFT JOIN ort ON ort.ID = auftrag.StandortID
LEFT JOIN mitarbeiter ON mitarbeiter.ID = team.IDMitarbeiter
WHERE team.IDMitarbeiter = mitarbeiter.ID

Ich möchte, dass die Orte (ohne alias) in verbindung mit auftrag.StandortID gesetzt wird und Orte die als Alias definiert wurden auftrag.HotspotID zugewiesen bekommen. Im moment erhalten beide auftrag.StandortID.

Wie kann ich das jetzt realisieren? Geht das überhaupt?

Ich wusste nicht mal wonach ich bei meinem Problem recherchieren sollte. Ich hoffe, ich konnte mich einigermaßen verständlich ausdrucken =X

Vielen Dank im Voraus.
 
Werbung:
Ich möchte, dass die Orte (ohne alias) in verbindung mit auftrag.StandortID gesetzt wird und Orte die als Alias definiert wurden auftrag.HotspotID zugewiesen bekommen. Im moment erhalten beide auftrag.StandortID.

Ich hoffe, ich konnte mich einigermaßen verständlich ausdrucken =X

Ähm - nein. Ich versteh es nicht, was Du willst. Vielleicht zeigst Du es mal an einem vereinfachten Beispiel mit Daten.
 
Ähm - nein. Ich versteh es nicht, was Du willst. Vielleicht zeigst Du es mal an einem vereinfachten Beispiel mit Daten.

Was ist grad seh:

Code:
ort.Ort, ort.PLZ, ort.Straße, ort.Ort AS HS_Ort, ort.PLZ AS HS_PLZ, ort.Straße AS HS_Straße

Kann man machen, hat man halt dieselben Daten 2-mal im Resultat. Muß man aber nicht machen, weil: ist sinnfrei.
 
Genau diesen möchte ich unterschiedliche Werte zuweisen können, die aus der Tabelle Ort kommen. Wie wird so etwas gemacht?


ort.Ort und ort.Ort as HS_Ort sind einfach 2 Spalten im Resultat, die aus der selben Quellspalte kommen: Tabelle Ort, Spalte Ort. Wo soll denn der 'andere' Wert herkommen, wenn nicht aus ort.Ort? Da mußt schon einen andere Tabelle und/oder Spalte angeben.
 
Vielleicht so (ungetestet):
Code:
SELECT auftrag.ID,
       mitarbeiter.ID, mitarbeiter.Vorname, mitarbeiter.Nachname,
       team.Team,
       auftrag.EinsatzgebietNr, auftrag.Auftragsdatum,
       pkw.ID, pkw.Marke, pkw.Modell, pkw.Kennzeichen,
       ort.ID, ort.Ort, ort.PLZ, ort.Straße,
       ort_HS.Ort AS HS_Ort, ort_HS.PLZ AS HS_PLZ, ort_HS.Straße AS HS_Straße
FROM auftrag
LEFT JOIN team ON team.ID = auftrag.AuftragnehmerID
LEFT JOIN pkw ON pkw.ID = auftrag.PkwID
LEFT JOIN ort ON ort.ID = auftrag.StandortID
LEFT JOIN ort ort_HS ON ort_HS.ID = auftrag.HotspotID
LEFT JOIN mitarbeiter ON mitarbeiter.ID = team.IDMitarbeiter
WHERE team.IDMitarbeiter = mitarbeiter.ID
 
Werbung:
Zurück
Oben