SQL aus einer Abfrage heraus eine Differenz bilden
Ich habe eine Abfrage erstellt, wo die erste Spalte die Kostenstelle, die zweite Grundgebühr ist, dann D1, D2, E-Plus, O2, Gesamt
Nun will ich noch eine Spalte ergeänzen. Und zwar die Festnetzkosten.
Diese ergeben sich dann logischerweise aus Gesamt - D1-D2-O2-E-Plus=Festnetz.
Wie kann ich einen Rechenausdruck mit in die selbe Abfrage bringen???
Geht so etwas überhgaupt???
Danke
Nun will ich noch eine Spalte ergeänzen. Und zwar die Festnetzkosten.
Diese ergeben sich dann logischerweise aus Gesamt - D1-D2-O2-E-Plus=Festnetz.
Wie kann ich einen Rechenausdruck mit in die selbe Abfrage bringen???
Geht so etwas überhgaupt???
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 137732
Url: https://administrator.de/contentid/137732
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
4 Kommentare
Neuester Kommentar
Außerdem fügt es automatisch bei der HVING Klausel dieses . AS [%$###@_Alias] ein, welches davor noch nicht da war.
... das ist OK so. Die Unterabfragen benötigen dieses Alias damit man in der Hauptabfrage erkennen kann welcher Wert woher kommt.ist das M$ Access ?
SELECT
D1,
D2,
E_Plus,
O2,
Gesamt-D1-D2-E_Plus-O2-Grundgebühr AS Festnetz,
Gesamt
FROM
[
SELECT
Januar_2010.Kostenstelle,
Sum(IIf(InStr([Volumen],"---")>0,[Anteil_Euro],0)) AS Grundgebühr,
Sum(IIf(InStr([leistungen],"T-Mobile")>0,[Anteil_Euro],0)) AS D1,
Sum(IIf(InStr([leistungen],"Vodafone")>0,[Anteil_Euro],0)) AS D2,
Sum(IIf(InStr([leistungen],"E-Plus")>0,[Anteil_Euro],0)) AS E_Plus,
Sum(IIf(InStr([leistungen],"O2")>0,[Anteil_Euro],0)) AS O2,
Sum(Januar_2010.Anteil_Euro) AS Gesamt
FROM Januar_2010
GROUP BY Januar_2010.Kostenstelle
HAVING (((Januar_2010.Kostenstelle)=[Kostenstelle:]))
]. AS [%$##@_Alias];
Das sollte doch auch gehen:
SELECT
Januar_2010.Kostenstelle,
Sum(IIf(InStr([Volumen],"---")>0,[Anteil_Euro],0)) AS Grundgebühr,
Sum(IIf(InStr([leistungen],"T-Mobile")>0,[Anteil_Euro],0)) AS D1,
Sum(IIf(InStr([leistungen],"Vodafone")>0,[Anteil_Euro],0)) AS D2,
Sum(IIf(InStr([leistungen],"E-Plus")>0,[Anteil_Euro],0)) AS E_Plus,
Sum(IIf(InStr([leistungen],"O2")>0,[Anteil_Euro],0)) AS O2,
Sum(Januar_2010.Anteil_Euro) AS Gesamt,
Sum(Januar_2010.Anteil_Euro) -
Sum(IIf(InStr([Volumen],"---")>0,[Anteil_Euro],0)) -
Sum(IIf(InStr([leistungen],"T-Mobile")>0,[Anteil_Euro],0)) -
Sum(IIf(InStr([leistungen],"Vodafone")>0,[Anteil_Euro],0)) -
Sum(IIf(InStr([leistungen],"E-Plus")>0,[Anteil_Euro],0)) -
Sum(IIf(InStr([leistungen],"O2")>0,[Anteil_Euro],0)) AS Festnetz
FROM Januar_2010
GROUP BY Januar_2010.Kostenstelle
HAVING (((Januar_2010.Kostenstelle)=[Kostenstelle:]))