Ich habe jetzt schon einiges versucht, bisher klappt es aber noch nicht. Ich bin mir inzwischen auch gar nicht mehr sicher, ob ich auf der richtigen Spur bin.
Gegeben sind 2 Tabellen
Tabelle 1 Container:
ID int(8) auto_increment,
auftragNr int(11),
status enum('aktiv', 'archiv'),
start_ort varchar(120),
ziel_ort .....
Tabelle 2 Laufinformation:
LID int(11) auto_increment,
ID int(8),
datum date,
ort varchar(120)
zu jedem Container leigen n Laufinformationen vor.
Die Ausgabe soll sortiert werden nach dem Datum der Laufinformation, für jeweils einen bestimmten status. Es sollen dabei immer nur die aktuellste Laufinformation angezeigt werden.
Versucht habe ich :
SELECT cont.*, lauf.datum,lauf.ort FROM Container cont
LEFT JOIN Laufinformation lauf
ON cont.status = "aktiv" AND cont.ID=lauf.ID
GROUP BY cont.ID
ORDER BY lauf.datum
Das Ergebniss entspricht nicht den Erwartungen. Ich bin mir jetzt nicht sicher, ob ich überhaupt auf der richtigen Spur bin. Zudem erscheint mir (subjektiv) die abfrage als sehr langsam ...
Kann mir jemand behilflich sein??
Danke und gruss
Gegeben sind 2 Tabellen
Tabelle 1 Container:
ID int(8) auto_increment,
auftragNr int(11),
status enum('aktiv', 'archiv'),
start_ort varchar(120),
ziel_ort .....
Tabelle 2 Laufinformation:
LID int(11) auto_increment,
ID int(8),
datum date,
ort varchar(120)
zu jedem Container leigen n Laufinformationen vor.
Die Ausgabe soll sortiert werden nach dem Datum der Laufinformation, für jeweils einen bestimmten status. Es sollen dabei immer nur die aktuellste Laufinformation angezeigt werden.
Versucht habe ich :
SELECT cont.*, lauf.datum,lauf.ort FROM Container cont
LEFT JOIN Laufinformation lauf
ON cont.status = "aktiv" AND cont.ID=lauf.ID
GROUP BY cont.ID
ORDER BY lauf.datum
Das Ergebniss entspricht nicht den Erwartungen. Ich bin mir jetzt nicht sicher, ob ich überhaupt auf der richtigen Spur bin. Zudem erscheint mir (subjektiv) die abfrage als sehr langsam ...
Kann mir jemand behilflich sein??
Danke und gruss
Comment