T-SQL so aktualisieren Sie das untere/Letzte Zeile nur?
Ich aktualisieren möchten, wird der Boden/die Letzte Zeile in meiner Tabelle. Ich habe versucht zu implementieren diese Lösung, aber nichts scheint, wie die richtige syntax:
UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
ORDER BY PeriodID DESC
ODER
UPDATE TOP(1) @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
FROM @ResultTable
ORDER BY PeriodID DESC
Was ich bis jetzt arbeiten:
UPDATE @ResultTable
SET PeriodLastDate=DATEADD(DAY,-1,PeriodLastDate)
WHERE PeriodID=(SELECT COUNT(PeriodID) FROM @ResultTable)-1
aber das wird nicht immer so funktioniert, wie in meiner Funktion einige der Datensätze sind gelöscht und ich bin nicht immer mit PeriodIDs erhöht mit 1.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es gibt nicht genug Kontext, in den Ihre Frage zu geben, die ultimative Antwort. Basierend auf Ihrer Lösung arbeiten, wie wäre es, statt der Suche nach dem Grafen suchen für die max PeriodID? So lange wie die nachfolgenden PeriodID sind ein größerer Wert, sollte es funktionieren um die "letzten" Datensatz.
Wenn Sie eine eindeutige Spalte (vielleicht PeriodID?) in jeder Zeile konnte man etwas wie das hier tun: