Aber ich habe keine Tabelle in welcher die Tage 1.12.17...31.12.17 hingelegt sind - sonst könnte man dies ja ganz einfach über einen Join und SUM lösen. Geht das über eine StoredProc?
Ich verwende sowas dafür:
Code:
create or alter procedure SP_JJMMTT (
ADATUM_VON date,
ADATUM_BIS date)
returns (
DATUM date,
JAHR integer,
MONAT integer,
TAG integer)
AS
begin
JAHR = EXTRACT(YEAR FROM CURRENT_DATE);
MONAT = EXTRACT(MONTH FROM CURRENT_DATE);
IF (ADATUM_VON is NULL) THEN
BEGIN
ADATUM_VON = CAST(JAHR||'-'||MONAT||'-01' AS DATE);
END
IF (ADATUM_BIS is NULL) THEN
BEGIN
ADATUM_BIS = CAST(JAHR||'-'||MONAT||'-01' AS DATE);
ADATUM_BIS = DATEADD( 1 MONTH to ADATUM_BIS);
ADATUM_BIS = DATEADD( -1 DAY to ADATUM_BIS);
END
JAHR = NULL;
MONAT = NULL;
DATUM = ADATUM_VON;
WHILE (DATUM <= ADATUM_BIS) DO
BEGIN
JAHR = EXTRACT(YEAR from DATUM);
MONAT = EXTRACT(MONTH from DATUM);
TAG = EXTRACT(DAY from DATUM);
suspend;
DATUM = DATEADD( 1 DAY to DATUM);
END
end
Code:
select
TT.DATUM,
TT.MONAT,
TT.TAG
....
from
SP_JJMMTT('01.12.2017', '31.12.2017') TT
left join DeineTabelle ...