ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
565
565
EMPFEHLEN
-
Das folgende Problem sollte nicht so schwer sein, für Leute die fit sind. Ich bin es jedenfalls zur Zeit nicht mehr.
2 Tabellen
Fahrzeug Tabelle
Fahrzeug KZ FZ_ID
------------------------------------
B-123 1
M-567 2
Event Tabelle ( Wo die Fahrzeuge wann waren)
FZ_ID Zeit Ort
---------------------------------------------------------
1 12:00 Berlin
1 13:00 Mannheim
2 8:00 Berlin
2 10:00 Berlin
2 15:00 Hamburg
Jetzt will ich ein Select Abfrage, die mir folgendes Ergebnis bringt:
Fahrzeug_KZ Ort
--------------------------------------------------
B-123 Hamburg
M-567 Mannheim
Also das Ergebnis soll mir die Fahrzeuge auflisten mit dem der dazugehörigen Maximalen Zeit.
Muss ich dafür ein Group BY Befehl verwenden? oder SELECT MAX...?
-
Hallo,
Tip: Ist immer gut zu wissen welches Datenbanksystem du nutzt (MySQL, Oracle etc. (auch die Versionsnummer ist nicht uninteressant)
IIn Oracle (und wahrscheinlich auch in allen Anderen System) sollte das so gehen:
GrüßePHP-Code:select Fahrzeug_KZ , max(Zeit), Ort
from Event
join Fahrzeug using (FZ_ID)
group by Fahrzeug_KZ, Ort
=========================================
Glaube denen, die die Wahrheit suchen, und zweifle
an denen, die sie gefunden haben.
=========================================
André Gide (1869-1951), frz. Schriftst., 1947 Nobelpr.
=========================================
-
Wobei das von Dir beschriebene Ergebnis nicht korrekt ist, oder? Hast Du nicht die Autos vertauscht?
-
Tja, ich benutze SQL, die neue Version und bearbeite das mi Microsoft SQL Management Studio Express.Msg 102, Level 15, State 1, Line 3
Incorrect syntax near ','.
Ausserdem frag ich mich, da gibt es doch gar kein where klausel. Ich dachte an sowas:
Das zeigt keine Fehler an. Ich bekomme allerdings nicht nur 2 Einträge, sondern Mehrere Fahrzeuge mit mehrern Orten.....PHP-Code:select Fahrzeug_KZ, MAX(Zeit), Ort
from Event, Fahrzeug
where Fahrzeug.FZ_ID = Event.FZ_ID
group by Fahrzeug_KZ, Ort
-
Hi matdacat,
klar das Ergebnis hatte ich vertauscht. Ich will natürlich das Fahrzeug mit dem aktuellsten Ort. 2 Zeilen also.
-
-
Dann bekomm ich diesen Fehler....PHP-Code:
Msg 8120, Level 16, State 1, Line 1
Column 'Fahrzeug.Ort' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
-
natürlich 'Event.Ort' und nicht Fahrzeug.Ort...
Ich habe eine größere Tabelle. Die Idee mit dem Fahrzeug und Event ist allerdings identisch und vereinfacht.
-
Sorry fürs Verwirrung stiften. Eine Möglichkeit ist die folgende:
Code :1 2 3
SELECT F1.KZ, E1.Zeit, E1.Ort FROM Event AS E1 INNER JOIN Fahrzeug AS F1 ON E1.FZ_ID = F1.FZ_ID WHERE E1.Zeit = (SELECT MAX(Zeit) FROM Event WHERE Event.FZ_ID=F1.FZ_ID)
-
@matdacat: Das hat ge****t!
Die Tabelle steht...
DANKE Leute
Ähnliche Themen
-
Ausblenden von Spalten in einer SELECT-Abfrage trotz "SELECT *"
Von Greq im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 19.11.07, 23:29 -
SELECT *..... Abfrage
Von flying-anzi im Forum Relationale DatenbanksystemeAntworten: 11Letzter Beitrag: 04.06.07, 19:11 -
Abfrage mit Select
Von Hannibal im Forum PHPAntworten: 0Letzter Beitrag: 12.04.05, 13:43 -
MYSQL Abfrage mit Select in der Like-Abfrage
Von TSchreiber im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 10.04.05, 19:09 -
Abfrage - für mich kompliziert - help
Von ultrakollega im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 27.10.03, 10:18





Zitieren
Login





