AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Anfängerfrage: Datesätze mit dem spätmöglichsten Datum finden???
Thema durchsuchen
Ansicht
Themen-Optionen

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

Ein Thema von romber · begonnen am 6. Okt 2010 · letzter Beitrag vom 7. Okt 2010
Antwort Antwort
Seite 1 von 2  1 2      
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

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

  Alt 6. Okt 2010, 11:12
Datenbank: MS SQL Server • Version: 2008 • Zugriff über: ADO
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?
  Mit Zitat antworten Zitat
youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#2

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

  Alt 6. Okt 2010, 11:16
Ist es notwendig immer einen neuen Datensatz bei einer Änderung zu speichern?
Wieso kein Timestamp, bei einem Update?
Steven
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.616 Beiträge
 
Delphi 12 Athens
 
#3

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

  Alt 6. Okt 2010, 11:18
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Alien426
Alien426

Registriert seit: 21. Dez 2005
146 Beiträge
 
Turbo Delphi für Win32
 
#4

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

  Alt 6. Okt 2010, 13:01
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.616 Beiträge
 
Delphi 12 Athens
 
#5

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

  Alt 6. Okt 2010, 13:05
Dabei kommt aber nur 1 Datensatz heraus.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

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

  Alt 6. Okt 2010, 13:10
[DP]"TOP" entspricht dem "LIMIT" in anderen SQL-Dialekten[/DP]
jein, Top bildet/deckt nur einen Teilaspekt von Limit, Rows und Co. ab
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

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

  Alt 6. Okt 2010, 13:13
Hallo,

so sollte es gehen:

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

Geändert von mkinzler ( 6. Okt 2010 um 13:14 Uhr) Grund: Code-Tag durch SQL-Tag ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.616 Beiträge
 
Delphi 12 Athens
 
#8

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

  Alt 6. Okt 2010, 13:16
Dabei können aber wieder mehrere Datensätze je ID gelistet werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#9

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

  Alt 7. Okt 2010, 09:25
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.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#10

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

  Alt 7. Okt 2010, 09:53
Kann das sein, dass bei einem komplexeren WHERE und dem Code von DeddyH am Ende trotzdem mehere Datensätze zu einem ID geliefert werden?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
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