Vielleicht kann jemand helfen.
Ich möchte ein View erstellen, mit einer kumulativen Summe über alle w's und nach typ,datum sortiert.
Das Problem ist, das sub-select kennt typ nicht, und die kumulative Summe ist in der falschen Reihenfolge.
Mein Versuch:
Beispiel:
Gegeben
| id | datum | eur | typ |
| --- | ----- | --- | --- |
| 1 | 15 | 10 | d |
| 2 | 16 | 20 | d |
| 3 | 1 | 30 | w |
| 4 | 30 | 50 | w |
| 5 | 17 | 40 | w |
Ist
| id | datum | eur | typ | sum |
| -- | ----- | --- | --- | --- |
| 3 | 1 | 30 | w | 30 |
| 1 | 15 | 10 | d | 30 |
| 2 | 16 | 20 | d | 30 |
| 5 | 17 | 40 | w | 120 |
| 4 | 30 | 50 | w | 80 |
Soll
| id | datum | eur | typ | sum |
| -- | ----- | --- | --- | --- |
| 3 | 1 | 30 | w | 30 |
| 1 | 15 | 10 | d | 0 |
| 2 | 16 | 20 | d | 0 |
| 5 | 17 | 40 | w | 70 |
| 4 | 30 | 50 | w | 120 |
Ich möchte ein View erstellen, mit einer kumulativen Summe über alle w's und nach typ,datum sortiert.
Das Problem ist, das sub-select kennt typ nicht, und die kumulative Summe ist in der falschen Reihenfolge.
Mein Versuch:
SQL:
DROP VIEW book2_w_all;
CREATE VIEW book2_w_all AS
SELECT b2.*, COALESCE((SELECT SUM(book2.eur)
FROM book2
WHERE book2.id <= b2.id # hier wird wohl das Problem sein
AND typ='w'
ORDER BY datum ASC), 0) AS eur_sum
FROM book2 AS b2
WHERE typ!='b'
ORDER BY datum ASC;
Beispiel:
Gegeben
| id | datum | eur | typ |
| --- | ----- | --- | --- |
| 1 | 15 | 10 | d |
| 2 | 16 | 20 | d |
| 3 | 1 | 30 | w |
| 4 | 30 | 50 | w |
| 5 | 17 | 40 | w |
Ist
| id | datum | eur | typ | sum |
| -- | ----- | --- | --- | --- |
| 3 | 1 | 30 | w | 30 |
| 1 | 15 | 10 | d | 30 |
| 2 | 16 | 20 | d | 30 |
| 5 | 17 | 40 | w | 120 |
| 4 | 30 | 50 | w | 80 |
Soll
| id | datum | eur | typ | sum |
| -- | ----- | --- | --- | --- |
| 3 | 1 | 30 | w | 30 |
| 1 | 15 | 10 | d | 0 |
| 2 | 16 | 20 | d | 0 |
| 5 | 17 | 40 | w | 70 |
| 4 | 30 | 50 | w | 120 |