AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Problem

Ein Thema von manfred_h · begonnen am 17. Mär 2009 · letzter Beitrag vom 17. Mär 2009
Antwort Antwort
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
IIIMADDINIII
(Gast)

n/a Beiträge
 
#2

Re: SQL Problem

  Alt 17. Mär 2009, 17:34
kann man da nicht einfach eine schleife schreiben die dann alle zeilen durchgeht
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: SQL Problem

  Alt 17. Mär 2009, 17:37
SQL-Code:
SELECT
    C_NO,
    sum(iif ( TODO_TYPE = 'Member_Dinner', 1, 0)) as MD,
    ...
from
    CAMPS_D_TODO
group by
   C_NO, B_YEAR;
Markus Kinzler
  Mit Zitat antworten Zitat
manfred_h

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

Re: SQL Problem

  Alt 17. Mär 2009, 17:44
Wow, das ging schnellll super

das wars:
SQL-Code:
SELECT
    C_NO,
    SUM(IIF ( TODO_TYPE = 'MEMBER_FEE', 1, 0)) AS MF,
    SUM(IIF ( TODO_TYPE = 'TARGET_SET', 1, 0)) AS TS,
    SUM(IIF ( TODO_TYPE = 'ANNUAL_REPORT', 1, 0)) AS AR,
    SUM(IIF ( TODO_TYPE = 'ELECTIONS_TO_HQ', 1, 0)) AS E_HQ,
    SUM(IIF ( TODO_TYPE = 'N_M_P', 1, 0)) AS N_M_P,
    SUM(IIF ( TODO_TYPE = 'PASTORS_BANQUETS', 1, 0)) AS PB,
    SUM(IIF ( TODO_TYPE = 'MEMBER_DINNER', 1, 0)) AS MD,
    (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
GROUP BY
   C_NO, B_YEAR;
Besten Dank Euch beiden!
Shalom
Manfred
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz