Was soll ich abfragen, wenn ich die aktuelle Zeile von der vorherigen Zeile subtrahieren wollte. Ich werde es auf der Schleife in vb6 verwenden. etwas wie diese:Wie kann ich eine vorherige Zeile in SQL subtrahieren?
Row
1
2
3
4
5
Auf dem ersten Schleifenwert 1 wird nicht in Abzug gebracht werden, da es keine vorherige Zeile hat, was in Ordnung ist. Nächste Schleife Wert 2 wird dann von der vorherigen Zeile abgezogen, die Wert 1 ist. Und so weiter bis zur letzten Zeile.
Wie kann ich diese Routine erreichen? Durch SQL-Abfrage oder VB6-Code.Jeder wird tun.
Denken Sie daran, es als „vorherige Zeile“ in einer SQL-Ergebnismenge nicht so etwas ist, wenn Sie ein „ORDER BY“ Klausel verwenden, um die Reihenfolge zu definieren. Außerdem sollten Sie versuchen, in Sets mit relationalen Datenbanken zu denken, also hoffe ich, dass Ihnen jemand eine satzweise Antwort gibt (ich muss jetzt gehen). –
. Ja. Aber wie kann ich das in der by by-Klausel definieren? Danke ... – Nemesis
Gliederung (Entschuldigung, ich muss ausführen): Definieren Sie eine CTE, die ORDER BY verwendet, um eine Reihenfolge auszuwählen, und verwendet dann [ROW_NUMBER] (http (http://technet.microsoft.com/en-us/library/ms186734.aspx), um eine Spalte hinzuzufügen, die die Reihenfolge definiert. Fügen Sie dann den CTE zu sich selbst auf x.ROWNUM = y.ROWNUM + 1 hinzu und schließen Sie x.value-y.value ein. –