Ich habe eine Tabelle Actions
, Schema Schlag:Erhalten Sie die neuesten Datensätze für eine Tabelle, in der das Daten-Delta gespeichert wird?
[Actions]
ActionID
Date
Status <--Nullable, a delta column, only stores value when status changes
Jetzt möchte ich die letzte Datensatz abzurufen, aber es ist sehr wahrscheinlich, dass Stutus
für diesen Datensatz null ist, deshalb möchte ich seine letzten Statusänderung erhalten (geordnet nach Date
).
Hier ein Beispiel:
ActionID | Date | Status
------------------------
1 | 04/12| 'Bon'
2 | 04/13| NULL
3 | 04/14| NULL
4 | 04/15| NULL
und mein letzter Eintrag soll wie folgt aussehen: ActionID: 4
, Date: 04/15
, Status: 'Bon'
Ich weiß, es ist möglich, mit verschachtelten select-Anweisungen zu tun, aber in meinem realen Tisch, Ich habe ungefähr 10 dieser Spalten, es wird drastisch die Leistung beeinflussen, wenn viele Anfragen wie diese gemacht werden. Ich frage mich, ob es einen einfacheren Weg gibt, es zu tun?
Aktionen aussehen wie eine Append-only-Tabelle. Wenn dies der Fall ist, können die zusätzliche Tabelle "LastAction" und eine einfache Trigger-Aktualisierungstabelle mit den letzten ID- und Nicht-Null-Spalten nützlich sein. –
Wie verhält sich der Datensatz mit ActionID = 4 zum Datensatz mit Status = 'Bon'? –
Grundsätzlich möchte ich den letzten Datensatz in dieser Tabelle abrufen, der 'ActionID = 4' ist, aber sein Status ist * NULL *, also muss er die * NULL * mit '' Bon' 'füllen, weil das der letzte nicht ist -null Datensatz für den Status. – Bonk