Fuldaer_Bub Geschrieben 17. März 2004 Teilen Geschrieben 17. März 2004 Habe folgendes Problem : Ich habe eine Abfrage in der u.a. ein Feld enthalten ist, welches mir die Summe der Einträge x aus einer bestimmten Spalte bildet. Die Summe errechnet er richtig, nur möchte ich die "Zwischensumme" auch anzeigen lassen, in einer anderen Zeile. Dort werden die Zwischenwerte aber mit einem negativen Vorzeichen versehen. Was mache ich denn falsch ? Hier mal der SQL-Code der Abfrage : SELECT TOP 20 Europa.NaviGeraete, Count(Europa.NaviGeraete) AS Summe, Sum([GrundDerAnfrage]='Beschwerde') AS Beschwerde, Sum([GrundDerAnfrage]='Troubleshooting') AS Troubleshooting, Sum([GrundDerAnfrage]='Technische Beratung+ET-Bestellung') AS [Technische Beratung], Sum([GrundDerAnfrage]='nicht produktbezogene Auskünfte') AS [nicht technische Auskünfte], Sum([GrundDerAnfrage]='Einbauberatung') AS Einbauberatung FROM Europa GROUP BY Europa.NaviGeraete, Europa.Produktbereich HAVING (((Europa.Produktbereich)='CR')) ORDER BY Count(Europa.NaviGeraete) DESC; Das Ergebnis sieht so aus : TopTen_CR_Deutschland NaviGeraete Summe Beschwerde Troubleshooting Technische Beratung nicht technische Auskünfte Einbauberatung A 550 -5 -72 -407 -26 -36 B 114 -1 -17 -71 -3 -20 C 72 -1 -6 -42 -3 -17 D 54 0 -12 -35 -5 -1 E 54 0 -12 -34 -3 -5 F 49 0 -17 -26 -2 -4 G 48 0 -11 -30 0 -7 H 42 -1 -10 -25 -2 -4 I 30 0 -7 -17 -1 -5 J 30 0 -7 -19 -3 -1 K 30 0 -10 -14 -2 -4 L 29 0 -5 -20 0 -4 M 27 -1 -7 -16 -2 -1 N 20 0 -8 -11 0 -1 O 19 -1 -3 -8 0 -7 P 19 0 -2 -15 0 -2 Q 19 -1 -3 -7 -2 -6 R 18 0 -3 -12 -2 -1 S 18 0 -8 -8 -1 -1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
just_me Geschrieben 17. März 2004 Teilen Geschrieben 17. März 2004 Öhm, SUM addiert Werte. Sieht deine Tabelle etwa so aus: | ID | GrundDerAnfrage | ------------------------ | 1 | Beschwerde | | 2 | Troubleshooting | | 3 | Beschwerde | ? In diesem Fall macht SUM wenig Sinn, versucht es doch die Summe der Zeichenketten zu kalkulieren. Wenn ich dich richtig verstehe, könntest du es mal mit COUNT versuchen. SELECT TOP 20 Europa.NaviGeraete, Count(Europa.NaviGeraete) AS Summe, (SELECT COUNT([GrundDerAnfrage]) FROM Europa WHERE [GrundDerAnfrage]='Beschwerde') AS Beschwerde, (SELECT COUNT([GrundDerAnfrage]) FROM Europa WHERE [GrundDerAnfrage]='Troubleshooting') AS Troubleshooting, (SELECT COUNT([GrundDerAnfrage]) FROM Europa WHERE [GrundDerAnfrage]='Technische Beratung+ET-Bestellung') AS [Technische Beratung], (SELECT COUNT([GrundDerAnfrage]) FROM Europa WHERE [GrundDerAnfrage]='nicht produktbezogene Auskünfte') AS [nicht technische Auskünfte], (SELECT COUNT([GrundDerAnfrage]) FROM Europa WHERE [GrundDerAnfrage]='Einbauberatung') AS Einbauberatung FROM Europa GROUP BY Europa.NaviGeraete, Europa.Produktbereich HAVING (((Europa.Produktbereich)='CR')) ORDER BY Count(Europa.NaviGeraete) DESC; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.