Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
Delphi 7 Enterprise
|
Re: Zwei SQLs mit UNION zusammenfassen geht nicht
4. Apr 2010, 01:20
Vielleicht so...
SQL-Code:
SELECT MONTH(z.Datum) AS Monat,
SUM(CASE WHEN (a.Art = 1)
OR (a.Art = 2)
OR ( a.AuftragNr = 'KLA'
AND YEAR(a.ErfassDatum) = :ParamJahr)
THEN z.ZeitBer
ELSE 0
END) AS SummeEZKA,
SUM(CASE WHEN a.Art = 3
THEN z.ZeitBer
ELSE 0
END) AS SummeHW,
SUM(CASE WHEN a.AuftragNr = 'NVZ'
AND YEAR(a.ErfassDatum) = :ParamJahr
THEN z.ZeitBer
ELSE 0
END) AS SummeNVZ
FROM Zeit z
INNER JOIN Auftrag a
ON z.AuftragsID = a.ID
WHERE ISNULL(a.Praemie, 0) >= 0
AND YEAR(z.Datum) = :ParamJahr
AND 1 = :ParamPraemie
GROUP BY MONTH(z.Datum)
UNION
SELECT MONTH(z.Datum) AS Monat,
SUM(CASE WHEN (a.Art = 1)
OR (a.Art = 2)
OR ( a.AuftragNr = 'KLA'
AND YEAR(a.ErfassDatum) = :ParamJahr)
THEN z.ZeitBer
ELSE 0
END) AS SummeEZKA,
SUM(CASE WHEN a.Art = 3
THEN z.ZeitBer
ELSE 0
END) AS SummeHW,
SUM(CASE WHEN a.AuftragNr = 'NVZ'
AND YEAR(a.ErfassDatum) = :ParamJahr
THEN z.ZeitBer
ELSE 0
END) AS SummeNVZ
FROM Zeit z
INNER JOIN Auftrag a
ON z.AuftragsID = a.ID
WHERE ISNULL(a.Praemie, 0) = 0
AND YEAR(z.Datum) = :ParamJahr
AND 0 = :ParamPraemie
GROUP BY MONTH(z.Datum)
ORDER BY Monat
|
|
Zitat
|