SQL: Zeilen, Werte subtrahieren/dividieren



  • Hallo Forum,

    könntet Ihr mir ein Tip geben wie man in SQL Zeilen subtrahieren kann?
    Ich habe diese Tabelle:
    Name; Projekt; KennzahlArt; KennzahlWert
    Maier; ProjektX; Soll; 1000
    Maier; ProjektX; Ist; 950

    Es soll nun eine Sicht auf die Tabelle erstellt werden wo die Differenz bzw prozentuale Abweichung sichtbar wird. Also:
    Name; Projekt; KennzahlArt; KennzahlWert
    Maier; ProjektX; AbweichungAbsolut; 50

    Wie macht man soetwas?

    Vielen Dank

    Mike



  • Du kannst in SQL einfach Subtrahieren oder so.
    Beispiel:

    Tabelle:
    CREATE TABLE [dbo].[aaaa] (
    [Name] [varchar] (50),
    [Wert1] [int] NULL,
    [Wert2] [int] NULL
    ) ON [PRIMARY]

    Abfrage:
    SELECT *, Wert1 - Wert2 AS Diff
    FROM aaaa

    Ausgabe
    Name Wert1 Wert2 Diff
    Martin 100 95 5
    Peter 95 102 -7
    Frank 456 345 111

    Das ganze ist in MS SQL sollte aber in anderen genauso/ähnlich funktionieren.

    schirrmie



  • Das normale Minus habe ich ja gefunden. Es geht mir aber darum bestimmte Zeilen zu subtrahieren. In einer Zeile steht der Ist-Wert von etwas, in der nächsten Zeile der Soll-Wert. Ich möchte nun eine Sicht machen die die beiden Zeilen von einander abzieht. Diese Sicht möchte ich am Ende mit der ursprünglichen Daten Tabelle zu einer 2. Sicht zusammenlegen, so dass Sicht2 dann so ausssieht:

    Name; Projekt; KennzahlArt; KennzahlWert
    Maier; ProjektX; Soll; 1000
    Maier; ProjektX; Ist; 950
    Maier; ProjektX; AbweichungAbsolut; 50

    (Die erste Zeile gibt natürlich die Spaltennnamen an)

    Ich möchte also aus dieser Tabelle:

    Name; Projekt; KennzahlArt; KennzahlWert
    Maier; ProjektX; Soll; 1000
    Maier; ProjektX; Ist; 950

    Diese Sicht machen:

    Name; Projekt; KennzahlArt; KennzahlWert
    Maier; ProjektX; Soll; 1000
    Maier; ProjektX; Ist; 950
    Maier; ProjektX; AbweichungAbsolut; 50



  • Har sich erledigt.



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Datenbanken verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • hallo 😉

    ...hab auch ein kleines Prob mit - Rechnen von 2 Werten

    Hab aber nicht 2 Werte sonder nur 1 pro Datenzatz

    Tabelle
    Name,Datum,Wert
    -------------------
    Mike, 1.1.08, 200
    Mike, 2.1.08, 100

    und nun möchte ich 200 -100 rechnen, HELP!

    PS: hab MS-SQL am laufen



  • Hilfesuchender2 schrieb:

    hallo 😉

    ...hab auch ein kleines Prob mit - Rechnen von 2 Werten

    Hab aber nicht 2 Werte sonder nur 1 pro Datenzatz

    Tabelle
    Name,Datum,Wert
    -------------------
    Mike, 1.1.08, 200
    Mike, 2.1.08, 100

    und nun möchte ich 200 -100 rechnen, HELP!

    PS: hab MS-SQL am laufen

    ...hat sich erledigt, hatte falsche Tabelle angegeben 🤡



  • Hallo nochmal,

    Hier mein Problemchen--> Möchte eine 'Gespeicherte Prozedur' erstellen.

    Welche können soll-->...da wo das Datum gleich ist und der Name Mike und Tom ist, möchte ich den (Wert von Mike) - (Wert von Tom) berechnen und das Ergebnis bei Mike neu Updaten.

    Tabelle
    Name,Datum,Wert
    -------------------
    Mike, 1.1.08,500 UPDATE=200
    Mike, 2.1.08,700 UPDATE=500
    Mike, 3.1.08,750
    Tom , 1.1.08,300
    Tom , 2.1.08,200
    Tom , 5.1.08,400[b]
    Uwe , 1.1.08,300
    Uwe , 2.1.08,600
    Uwe , 9.1.08,150

    ...wenn die Prozedur durch ist sollte bei Mike, 1.1.08 der neue Wert 200 und bei Mike, 2.1.08 der neue Wert 500 stehen.

    Funktioniert das überhaupt mit einem Update? komme nicht weiter, brauch Hilfe.
    MFG Hilfesuchender2


Anmelden zum Antworten