Hallo zusammen,
ich habe folgende Ausgangssituation:
Tabelle1
Tabelle2
… usw. tägliche Werte für das ganze Jahr
Tabelle3
… usw. monatliche Werte für das ganze Jahr
Als erstes wollte ich die Tabelle 1 um eine weitere Spalte ergänzen, so dass je ZEITRAUM_VON bis ZEITRAUM_BIS die Werte aus Tabelle 2 summiert und ausgegeben werden. Das habe ich wie folgt lösen können:
SELECT
NAME,
ZEITRAUM_VON,
ZEITRAUM_BIS,
,(SELECT SUM(Tab2.WERT)
FROM Tabelle2 Tab2
WHERE Tab2.DATUM >= Tab1.ZEITRAUM_VON and
Tab2.DATUM <= Tab1.ZEITRAUM_BIS
) AS SUMME
FROM Tabelle1 Tab1
Jetzt suche ich folgende Abfrage:
Weiterhin Betrachtung ZEITRAUM_VON bis ZEITRAUM_BIS aus Tabelle 1. Aus Tabelle 2 möchte ich jetzt nur die Summe für den ersten Monat aus dem Zeitraum bilden und mit dem PREIS aus der Tabelle 3 für den jeweiligen Monat multiplizieren. Dann der nächste Monat usw. Und am Ende alles aufsummieren.
Beispiel Moritz:
Summe Wert aus Tabelle 2 für Januar * 2,5 + Summe Wert aus Tabelle 2 für Februar * 3,5
Lässt sich das auch so einfach in eine Unterabfrage integrieren oder muss man hier anders herangehen?
Vielen Dank.
Viele Grüße
ich habe folgende Ausgangssituation:
Tabelle1
NAME | ZEITRAUM_VON | ZEITRAUM_BIS |
Hans | 01.07.2020 | 31.12.2020 |
Peter | 31.01.2020 | 31.12.2020 |
Max | 01.01.2021 | 30.11.2021 |
Moritz | 01.01.2021 | 01.02.2021 |
Claudia | 01.01.2021 | 30.11.2021 |
Tabelle2
DATUM | WERT |
01.01.2021 | 6.461 |
02.01.2021 | 7.133 |
03.01.2021 | 6.738 |
04.01.2021 | 6.371 |
05.01.2021 | 6.384 |
06.01.2021 | 6.390 |
07.01.2021 | 6.397 |
08.01.2021 | 6.402 |
09.01.2021 | 7.192 |
10.01.2021 | 6.785 |
11.01.2021 | 6.411 |
12.01.2021 | 6.418 |
… usw. tägliche Werte für das ganze Jahr
Tabelle3
DATUM | PREIS |
01.01.2021 | 2,50 |
01.02.2021 | 3,50 |
01.03.2021 | 4,50 |
01.04.2021 | 1,60 |
01.05.2021 | 5,50 |
01.06.2021 | 2,70 |
01.07.2021 | 2,80 |
01.08.2021 | 3,00 |
… usw. monatliche Werte für das ganze Jahr
Als erstes wollte ich die Tabelle 1 um eine weitere Spalte ergänzen, so dass je ZEITRAUM_VON bis ZEITRAUM_BIS die Werte aus Tabelle 2 summiert und ausgegeben werden. Das habe ich wie folgt lösen können:
SELECT
NAME,
ZEITRAUM_VON,
ZEITRAUM_BIS,
,(SELECT SUM(Tab2.WERT)
FROM Tabelle2 Tab2
WHERE Tab2.DATUM >= Tab1.ZEITRAUM_VON and
Tab2.DATUM <= Tab1.ZEITRAUM_BIS
) AS SUMME
FROM Tabelle1 Tab1
Jetzt suche ich folgende Abfrage:
Weiterhin Betrachtung ZEITRAUM_VON bis ZEITRAUM_BIS aus Tabelle 1. Aus Tabelle 2 möchte ich jetzt nur die Summe für den ersten Monat aus dem Zeitraum bilden und mit dem PREIS aus der Tabelle 3 für den jeweiligen Monat multiplizieren. Dann der nächste Monat usw. Und am Ende alles aufsummieren.
Beispiel Moritz:
Summe Wert aus Tabelle 2 für Januar * 2,5 + Summe Wert aus Tabelle 2 für Februar * 3,5
Lässt sich das auch so einfach in eine Unterabfrage integrieren oder muss man hier anders herangehen?
Vielen Dank.
Viele Grüße