Hallo, ich habe aus einem externen Datenbank eine sehr große Excel-Tabelle mit Spalten: Firmenname, Sach-Schaden, BU-Schaden usw. Nun möchte ich nur bestimmte Spalten mit SQL abrufen und anhand Bedingungen berechnen lassen. Dabei darf das Original-Tabelle nicht geändert werden. Mein SQL-Code siehe unten. Problem ist ich weiß nicht wie ich die Summe von zwei Spalten mit group by in SQL-Code hinkriege. // select spalte1….spalten
CASE WHEN ((Sach-Schaden = 'Versichert bis GVS' OR BU-Schaden = 'Versichert bis HHS') AND ((MaxExpoCombined <3 OR MaxExpoCombined is NOT NULL) AND (MaxExpoSach <3 OR MaxExpoSach is NOT NULL) AND (MaxExpoBU >8 OR MaxExpoBU is NOT NULL))) THEN (SELECT Sum(SachLimit+BULimit) as MEC-berechnet FROM Originaltabelle // Berechnete Spalte soll MEC heißen WHERE Firmennamen = Virtuelle_kopie. Firmennamen ELSE MaxExpoCombined END from Originaltabelle as Virtuelle_kopie
Ich habe eine ganze Weile gebraucht, um überhaupt zu begreifen, was das Statement eigentlich machen soll. Ich hoffe, ich habe die Anfrage korrekt interpretiert. Wenn Sie in der CASE-Anweisung unterschiedliche Aktionen ausführen wollen, dann sollte die Summierung in einer eigenen Sicht ausgeführt werden. Die CASE-Anweisung würde ich eine Sicht überführen und die Ergebnisspalte der Sicht im SELECT verwenden.