Thema: Delphi SQL Problem

Einzelnen Beitrag anzeigen

manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#1

SQL Problem

  Alt 17. Mär 2009, 17:29
Datenbank: Firbird • Version: 2.1 • Zugriff über: Fibplus 6.50
Hallo zusammen

mit folgendem SQL-Code hole ich mir Daten aus der DB:
SQL-Code:
SELECT
    C_NO,
    (CASE
      WHEN TODO_TYPE = 'Member_Dinner'
       THEN '1ELSE 0 END ) MD,
    (CASE
      WHEN TODO_TYPE = 'Member_Fee'
       THEN '1ELSE 0 END ) MF,
    (CASE
      WHEN TODO_TYPE = 'Target_Set'
       THEN '1ELSE 0 END ) TS,
    (CASE
      WHEN TODO_TYPE = 'Annual_Report'
       THEN '1ELSE 0 END ) AR,
    (CASE
      WHEN TODO_TYPE = 'Elections_to_HQ'
       THEN '1ELSE 0 END ) E_HQ,
    (CASE
      WHEN TODO_TYPE = 'N_M_P'
       THEN '1ELSE 0 END ) N_M_P,
    (CASE
      WHEN TODO_TYPE = 'Pastors_Banquets'
       THEN '1ELSE 0 END ) PB,
    (CASE
      WHEN EXTRACT (MONTH FROM TODO_DATE ) BETWEEN 1 AND 5
       THEN EXTRACT (YEAR FROM TODO_DATE)
      ELSE
       EXTRACT (YEAR FROM TODO_DATE) + 1 END ) B_YEAR
FROM
    CAMPS_D_TODO
Das Ergebnis sieht dann So aus:
Delphi-Quellcode:
C_NO   MD   MF   TS   AR   E_HQ   N_M_P   PB   B_YEAR
I47705   0   1   0   0   0   0   0   2009
I47705   1   0   0   0   0   0   0   2009
I47705   0   0   0   0   1   0   0   2009
I47705   0   0   0   0   0   1   0   2009
I47705   0   0   1   0   0   0   0   2009
I47705   0   0   0   0   0   0   1   2009
I47705   0   0   0   1   0   0   0   2010
Nun möchte ich das die Spalten MD / MF / TS / AR / E_HQ / N_M_P und PB jeweils summiert werden.
Das Ergebnis sollte dann so aussehen:

Delphi-Quellcode:
C_NO   MD   MF   TS   AR   E_HQ   N_M_P   PB   B_YEAR
I47705   1   1   1   1   1   1   1   2009
I47705   0   0   0   1   0   0   0   2010
Hat mir da jemand einen Tipp.
Mit GROUP BY und SUM habe ich schon rumgetestet aber nicht das Ergebnis erhalten...

Danke für Eure Tipps.
Manfred
  Mit Zitat antworten Zitat