![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Veteran
![]() Registriert seit: 30.09.2000
Beiträge: 267
|
![]() Hallo!
Ich habe einige SQL-Tabellen, etwa folgenden Aufbaus: Code:
feld1 feld2 1 2 2 2,4 3 3,2 4 4,5 ... Code:
feld1 feld2 Diff 1 2 0 2 2,4 0,4 3 3,2 0,8 4 4,5 1,3 ... fragt sich roland |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() |
![]() select feld1, feld2, (feld2 - feld1) as diff from irgendwo
pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug Nicht klicken! Erstposteralarm/Beschwerde/Kummerkasten Verplattet |
![]() |
![]() |
![]() |
#3 |
Veteran
![]() Registriert seit: 30.09.2000
Beiträge: 267
|
![]() Und wie heißt's so schön: Wer lesen kann, ist klar im Vorteil!
![]() |
![]() |
![]() |
![]() |
#4 | |
Inventar
![]() |
![]() Zitat:
![]() http://www.adp-gmbh.ch/ora/sql/inser..._subquery.html pong
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug Nicht klicken! Erstposteralarm/Beschwerde/Kummerkasten Verplattet |
|
![]() |
![]() |
![]() |
#5 |
Gesperrt
![]() |
![]() Beschreibe genauer, von wo die Differenz genau berechnet werden soll.
Denn die Differenz zwischen 1 und 2 ist nicht 0. |
![]() |
![]() |
![]() |
#6 |
Veteran
![]() Registriert seit: 30.09.2000
Beiträge: 267
|
![]() Nicht böse sein, aber wie soll man das noch genauer beschreiben: Die Differenz zwischen zwei aufeinanderfolgenden Zeilen?
Zwischen 2 und 2,4 ist 0,4 Differenz. Zwischen 2,4 und 3,2 ist 0,8 Differenz. ... ... ... Zeile(n) - Zeile(n-1) |
![]() |
![]() |
![]() |
#7 |
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
![]() klar geht das, aber kompliziert... aber vielleicht weiß ja jemand einen einfachen weg
____________________________________
nobody is perfect |
![]() |
![]() |
![]() |
#8 | |
Gesperrt
![]() |
![]() Zitat:
Warum bringst du da 2 Felder ? Was meinst du GENAU mit der Differenz ? Differenz zwischen was ? Man kann erst an einer Problemlösung arbeiten, wenn man eine klare Problembeschreibung hat. Meinst du das so: Zeile1: Feld1+Feld2=Summe1 Zeile2: Feld1+Feld2=Summe2 Zeile3: Feld1+Feld2=Summe3 Differenz Zeile1 = Summe 1 - Summe 2 ? Differenz Zeile2 = Summe 2 - Summe 3 ? |
|
![]() |
![]() |
![]() |
#9 |
Veteran
![]() Registriert seit: 30.09.2000
Beiträge: 267
|
![]() ok, vergiss einmal Feld1. Das hab ich drin, weil es ja eine Reihenfolge der Zeilen geben muss. Ich will ja nicht die Differenz zwischen Zeile1 und Zeile7 berechnen, sondern schön hintereinander Zeile2 minus Zeile1, Zeile3 minus Zeile2, Zeile4 minus Zeile3 usw.
eben wie beschrieben Zeile(n) minus Zeile(n-1). Und die Differenz ist das Ergebnis einer Subtraktion (sagt die Wikipedia). Wer MatLab kennt, kennt vielleicht den Befehl "diff". Gernau das auf SQL bezogen. Weil hier offenbar auf genaue Definitionen Wert gelegt wird, hier noch eine Begriffsbestimmung, wie MatLab das sieht: "Y = diff(X) calculates differences between adjacent elements of X. If X is a vector, then diff(X) returns a vector, one element shorter than X, of differences between adjacent elements: [X(2)-X(1) X(3)-X(2) ... X(n)-X(n-1)]" es grüßt Roland |
![]() |
![]() |
![]() |
#10 |
Hero
![]() Registriert seit: 26.07.2001
Ort: Wien
Beiträge: 811
|
![]() ich denke nicht, dass sql zeilenbasiert - wie von dir gewünscht - arbeiten kann.
du kannst dir den effekt aber selber zusammenbauen: lese 1.zeile, merk dir den wert des gewünschten feldes, lese nächste zeile und wende dein diff auf das vorher gemerkte feld und das gewünschte feld dieser zeile an und speichere das ergebnis als neues feld... wenn man geschickt ist, bekommt man das hin (in einem statement) ![]()
____________________________________
nobody is perfect |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|