-
Ich möchte nicht für jeden Monat einen Datensatz, sondern die Anzahl der Rechnungen für jeden Monat in einem Datensatz.
Als Beispiel hier der die Summes des Warenwerts für jeden Monat und Gesamtsumme:
PHP-Code:
Select 'UI' , KZ05RG, KZ06RG, PROGRG,
VKGBRG, KDA5RG,
(CASE WHEN KDI8RG <> 0 THEN KDI8RG ELSE KDA8RG END),
RGJJRG,
Sum(Case When RGMMRG = 1 then BWESRG else 0 End),
Sum(Case When RGMMRG = 2 then BWESRG else 0 End),
Sum(Case When RGMMRG = 3 then BWESRG else 0 End),
Sum(Case When RGMMRG = 4 then BWESRG else 0 End),
Sum(Case When RGMMRG = 5 then BWESRG else 0 End),
Sum(Case When RGMMRG = 6 then BWESRG else 0 End),
Sum(Case When RGMMRG = 7 then BWESRG else 0 End),
Sum(Case When RGMMRG = 8 then BWESRG else 0 End),
Sum(Case When RGMMRG = 9 then BWESRG else 0 End),
Sum(Case When RGMMRG = 10 then BWESRG else 0 End),
Sum(Case When RGMMRG = 11 then BWESRG else 0 End),
Sum(Case When RGMMRG = 12 then BWESRG else 0 End),
Sum(BWESRG) as GesamtSumme
From INFRGP
Where RGJJRG = 2006
Group by KZ05RG, KZ06RG, PROGRG, VKGBRG,
KDA5RG, KDI8RG, KDA8RG, RGJJRG
Hier sagt SQL/400 "Spalte RGMMRG oder Ausdruck in SELECT-Liste nicht gültig."
PHP-Code:
Select 'AR' , KZ05RG, KZ06RG, PROGRG,
VKGBRG, KDA5RG,
(CASE WHEN KDI8RG <> 0 THEN KDI8RG ELSE KDA8RG END),
RGJJRG,
(Case When RGMMRG = 1 then Count(distinct(BENRRG)) else 0 End),
Count(distinct(BENRRG))
From INFRGP
Where RGJJRG = 2006
Group by KZ05RG, KZ06RG, PROGRG, VKGBRG,
KDA5RG, KDI8RG, KDA8RG, RGJJRG
Da muß es doch eine Lösung geben....
-
Wenn du Group By verwendest, musst du alle Felder aufführen, die keine Aggregat-Funktion haben:
'UI' ,
(CASE WHEN KDI8RG <> 0 THEN KDI8RG ELSE KDA8RG END),
Spalten, die nicht selektiert sind, dürfen in Group By auch nicht vorkommen:
KDI8RG, KDA8RG
Der Syntax-Checker liefert da ggf. auch mal falsche Hinweise.
Ist das Feld RGMMRG denn auch tatsächlich in der Datei ?
-
count(distinct (Case When RGMMRG = 1 then BENRRG else NULL End)),
Die Aggregatfunktion muss aussen liegen !
NULL wird nicht mitgezählt.
-
 Zitat von Fuerchau
count(distinct (Case When RGMMRG = 1 then BENRRG else NULL End)),
Die Aggregatfunktion muss aussen liegen !
NULL wird nicht mitgezählt.
Super, das war's!!!
Similar Threads
-
By KB in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 28-04-16, 15:42
-
By rr2001 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 07-07-06, 10:56
-
By klausgkv in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 08-06-06, 14:47
-
By Schorsch in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 08-09-05, 16:22
-
By Atomik in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 21-11-01, 12:05
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks