Einzelnen Beitrag anzeigen

Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: SQL Select Statement, letzten Datensatz markieren

  Alt 29. Apr 2012, 06:59
SQL-Code:
Select *,
  case when (select max(StartDatum) from Tabelle x where x.ProjektName = y.ProjektName) = y.StartDatum
    then 'X
    else'
  end as IsLast
from Tabelle y
oder
SQL-Code:
Select *,
  case when exists (select * from Tabelle x where x.ProjektName = y.ProjektName and x.StartDatum > y.StartDatum)
    then '
    else 'X
  end as IsLast
from Tabelle y
Achtung! Mehrere Einträge mit gleichem (letzten) Enddatum bekommen alle ein 'X'!
Das dürfte hier nicht der Fall sein. Allerdings vermisse ich eh eine Identitätspalte.

Definiere einen AutoInc als PK und führe die Selektion (Icks oder nicht icks) lieber über den PK durch.
Dann ist das allgemeingültig.

SQL-Code:
Select *,
  case when exists (select * from Tabelle x where x.ProjektName = y.ProjektName and x.ID > y.ID)
    then '
    else 'X
  end as IsLast
from Tabelle y
Somit hat jedes Projekt garantiert genau einen letzten Datensatz.
  Mit Zitat antworten Zitat