Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden??? (https://www.delphipraxis.net/155045-anfaengerfrage-datesaetze-mit-dem-spaetmoeglichsten-datum-finden.html)

romber 6. Okt 2010 10:12

Datenbank: MS SQL Server • Version: 2008 • Zugriff über: ADO

Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
Hallo!

Ich hatte mal eine Tabelle mit über 10.000 Datensätze. Im Laufe der Zeit wurden fast allen Datensätzen Änderungen hinzugefügt. Bei jeder Änderung wurde ein neuer Datensatz mit den aktuellen Daten und dem selben ID hinzugefügt, damit man die Änderungen später nachverfolgen kann. Wie muss ich mein SELECT erweitern, um jeweils die aktuellste Version von jedem Datensatz zu erhalten?

youuu 6. Okt 2010 10:16

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
Ist es notwendig immer einen neuen Datensatz bei einer Änderung zu speichern?
Wieso kein Timestamp, bei einem Update?

DeddyH 6. Okt 2010 10:18

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
SQL-Code:
SELECT
  ID, Feld1, Feld2, Datum
FROM
  Tabelle A
WHERE
  Datum = (
    SELECT MAX(Datum)
    FROM Tabelle
    WHERE ID = A.ID)
Ungetestet. Ansonsten mal im Forum suchen, diese Frage hatten wir schon öfter.

Alien426 6. Okt 2010 12:01

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
Code:
SELECT TOP 1 ID, Feld1, Feld2, Datum FROM Tabelle ORDER BY Datum DESC
"TOP" entspricht dem "LIMIT" in anderen SQL-Dialekten:
Code:
SELECT ID, Feld1, Feld2, Datum FROM Tabelle ORDER BY Datum DESC LIMIT 1

DeddyH 6. Okt 2010 12:05

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
Dabei kommt aber nur 1 Datensatz heraus.

mkinzler 6. Okt 2010 12:10

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
[DP]"TOP" entspricht dem "LIMIT" in anderen SQL-Dialekten[/DP]
jein, Top bildet/deckt nur einen Teilaspekt von Limit, Rows und Co. ab

Gollum 6. Okt 2010 12:13

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
Hallo,

so sollte es gehen:

SQL-Code:
SELECT
  ID, Feld1, Feld2, MAX(Datum)
FROM
  Tabelle
GROUP BY
  ID, Feld1, Feld2

DeddyH 6. Okt 2010 12:16

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
Dabei können aber wieder mehrere Datensätze je ID gelistet werden.

romber 7. Okt 2010 08:25

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
Zitat:

Zitat von DeddyH (Beitrag 1054075)
SQL-Code:
SELECT
  ID, Feld1, Feld2, Datum
FROM
  Tabelle A
WHERE
  Datum = (
    SELECT MAX(Datum)
    FROM Tabelle
    WHERE ID = A.ID)

Und trotzdem erhalte ich mehrere Datensätze zu jedem ID.

romber 7. Okt 2010 08:53

AW: Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
 
Kann das sein, dass bei einem komplexeren WHERE und dem Code von DeddyH am Ende trotzdem mehere Datensätze zu einem ID geliefert werden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:07 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz