Einzelnen Beitrag anzeigen

alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#2

AW: Arbeitszeit - Summe Sollstunden

  Alt 2. Dez 2016, 19:38
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 ...
Alexander
  Mit Zitat antworten Zitat