Einzelnen Beitrag anzeigen

xbu58

Registriert seit: 10. Dez 2002
Ort: Bäretswil / Schweiz
121 Beiträge
 
Delphi 7 Enterprise
 
#13
  Alt 3. Feb 2003, 18:37
Hallo MrSpock

Ich bin mir nicht sicher, ob ich Dein Problem richtig verstanden habe. Wenn Du zwei Datensätze möchtes, das aber nur, wenn im betreffenden Netto-Feld ein Wert steht, dann denke ich, das ist ein klarer Fall für den Einsatz von Having. Im SQL-Server sieht das wie folgt aus:
Code:
SELECT SUM(Netto1) AS SumNetto,
       ST1 AS ST,
       SUM(MwST1) AS SummSteuer,
       SUM(Netto1)+SUM(MwSt1) AS Brutto
FROM RechListe
GROUP BY ST1
HAVING SUM(Netto1) > 0
UNION
SELECT SUM(Netto2) AS SumNetto,
       ST2 AS ST,
       SUM(MwST2) AS SummSteuer,
       SUM(Netto2)+SUM(MwSt2) AS Brutto
FROM RechListe
GROUP BY ST2
HAVING SUM(Netto2) > 0
Im Gegensatz zum Where wird bei Having die Gruppierung berücksichtigt. Es gibt aber noch eine andere Schreibweise von HAVING. Anstelle der SUM-Funktion muss die Alias-Variable angegeben werden. SQLAnywhere macht das zum Beispiel. In diesem Falle sieht das dann so aus: HAVING SumNetto > 0

Gruss
Xaver
  Mit Zitat antworten Zitat