Thema: Delphi SQL oder nicht SQL ...

Einzelnen Beitrag anzeigen

alex517

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

Re: SQL oder nicht SQL ...

  Alt 12. Feb 2007, 20:16
Hallo Martin,

Zitat von mschaefer:
Wenn jetzt aber einen Monat kein Umsatz war, dann erscheint dieser Monat nicht in der Gruppe mit einer Nullzeile, sondern wird einfach ausgelassen. Kann man dieses der Abfrage abgewöhnen.
Wenn keine "Monate" da sind, können auch keine in der Ergebnismenge auftauchen.
Aber man kann sich ja welche "basteln".

SQL-Code:
CREATE PROCEDURE SP_JJMM (
    VON_JJ INTEGER,
    VON_MM INTEGER,
    BIS_JJ INTEGER,
    BIS_MM INTEGER)
RETURNS (
    JAHR INTEGER,
    MONAT INTEGER)
AS
begin
  JAHR = VON_JJ;
  MONAT = VON_MM;
  WHILE (JAHR * 100 + MONAT <= BIS_JJ * 100 + BIS_MM) DO
  BEGIN
    suspend;
    MONAT = MONAT +1;
    if (MONAT > 12) THEN
    BEGIN
      MONAT = 1;
      JAHR = JAHR +1;
    END

  END
end
Dann hat man im Ergebnis auch den Monat:
SQL-Code:
SELECT
  JJMM.JAHR,
  JJMM.MONAT,
  COALESCE(SUM (U.BETRAG), 0) AS Monatsumsatz,
  COUNT (U.ID) AS Umsatzanzahl
FROM
  SP_JJMM(2005, 10, 2007, 5) JJMM
  left outer join Umsatz U on (U.JAHR = JJMM.JAHR and U.MONAT = JJMM.MONAT)
GROUP BY
  JJMM.JAHR,
  JJMM.MONAT


alex
Alexander
  Mit Zitat antworten Zitat