![]() |
Datenbank: mySQL • Zugriff über: mySQLDac
Bei doppeltem Eintrag, Record mit der höheren ID wählen
Hallöchen an all SQL-Spezialisten
ich habe z.B. folgende Tabelle ID, Name, Vorname, Nummer 10, Schmid, Peter, 1234 20, Meier, Hans, 0815 30, Meier, Hans, 0815 40, Meier, Franz, 4711 50, Meier, Franz, 4711 und möchte folgende Ausgabe erreichen 10, Schmid, Peter, 1234 30, Meier, Hans, 0815 50, Meier, Franz, 4711 d.h. wenn 2 gleiche Einträge vorhanden sind, soll der jeweils aktuellere mit der höheren ID ausgegeben werden. Gruss, Jörn |
Re: Bei doppeltem Eintrag, Record mit der höheren ID wählen
Müsste das nicht so gehen?
SQL-Code:
[edit] Sry, hatte die Nummer vergessen [/edit]
SELECT ID, Name, Vorname, Nummer
FROM Tabelle A WHERE ID = ( SELECT MAX(ID) FROM Tabelle B WHERE B.Name = A.Name AND B.Vorname = A.Vorname AND B.Nummer = A.Nummer) [edit2] Wobei eine einfache Gruppierung doch auch funktionieren müsste :gruebel:
SQL-Code:
[/edit2]
SELECT MAX(ID), Name, Vorname, Nummer
FROM Tabelle GROUP BY Name, Vorname, Nummer |
Re: Bei doppeltem Eintrag, Record mit der höheren ID wählen
Leider nein :(
habe ja nur eine Tabelle. Auch mit Gruppierungen konnte ich keine Lösung finden. Habe nun ein zusätzliches Feld in der Tabelle angelegt. Trotzdem danke DeddyH Gruss, Jörn |
Re: Bei doppeltem Eintrag, Record mit der höheren ID wählen
Das wundert mich aber schon ein wenig. Zumindest die umständliche 1. Variante sollte eigentlich funktionieren, wenn man beide Male den selben Tabellennamen einträgt.
|
Re: Bei doppeltem Eintrag, Record mit der höheren ID wählen
SQL-Code:
select * from tabelle where id in
(select max(id) from tabelle group by name, vorname, nummer) |
Re: Bei doppeltem Eintrag, Record mit der höheren ID wählen
Zitat:
Wenn nicht, dann wurden die Datenhosen nicht weit genug hinunter gelassen! Gruß K-H edit: Zitat:
|
Re: Bei doppeltem Eintrag, Record mit der höheren ID wählen
Danke euch,
jetz hab auch ichs mit den Aliases kapiert ... Habe nun DeddyH's Lösung umgesetzt.
SQL-Code:
Gruss, Jörn
SELECT ID, Name, Vorname, Nummer
FROM Tabelle A WHERE ID = ( SELECT MAX(ID) FROM Tabelle B WHERE B.Name = A.Name AND B.Vorname = A.Vorname AND B.Nummer = A.Nummer) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz