Thema: Delphi [SQL] Abfrage tunen

Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: [SQL] Abfrage tunen

  Alt 31. Mär 2006, 01:27
So, habe mich auch mal dran versucht...

SQL-Code:
SELECT b.projektid, p.projektname,
       ki.umsatz,
       b.prsituation, b.cbzuag, b.cbengag,
       b.cbrifa, b.cbriman,
       k.plank,
       k.progk,
       ki.istk,
       ki.istkstd,
       p.ende AS planende, b.ende AS progende
FROM pim_pb_berichte b
INNER JOIN pim_p_projekteneu p
  ON b.projektid = p.projektid
LEFT JOIN (SELECT monat, jahr, projektid,
                  SUM(plan) AS plank,
                  SUM(prognose) AS progk
           FROM pim_pb_kue
           WHERE ident = 'KOST'
           GROUP BY monat, jahr, projektid) k
  ON b.monat = k.monat
     AND b.jahr = k.jahr
     AND b.projektid = k.projektid
LEFT JOIN (SELECT jahr, pagid,
                  SUM(CASE WHEN zeile IN (61500, 61532, 61536,
                                          61547, 61543, 61526,
                                          61524, 61512, 61515)
                        THEN vorjahr + jan
                        ELSE 0
                      END) AS umsatz,
                  SUM(CASE WHEN zeile IN (23112, 23132, 23135,
                                          23162, 23165, 23170,
                                          23183, 24753, 34512,
                                          34832, 45012, 23182)
                        THEN vorjahr + jan
                        ELSE 0
                      END) AS istk,
                  SUM(CASE WHEN zeile = 14000
                        THEN vorjahr + jan
                        ELSE 0
                      END) * 73 AS istkstd
           FROM pim_p_ist
           GROUP BY jahr, pagid) ki
  ON b.jahr = ki.jahr
     AND b.projektid = ki.pagid
WHERE p.projektstatus = -1
  AND b.jahr = 2006
  AND b.monat = 1
ORDER BY p.projektname ASC
Ungetestet.

MfG
Thorsten
  Mit Zitat antworten Zitat