-
Oh, na ja, die Frage ist, ob es ein SQL gibt, das diese Daten umbaut
Soweit ich es mal gehört habe, hat SQL doch viele neue Funktionen um 'solche' Auswertungen zu machen. aber ich weis nicht einmal, wonach ich googeln soll!
-
Das schon, aber "Spaltengenerierung" gehört da weniger dazu.
Man muss (leider) immer die Spalten für die Tabelle vorher wissen um eine Abfrage auszuführen.
Der SQL-Server stellt dafür eine Reihe von SP's (stored Procedures) zur Verfügung um Spalten dynamisch zu erfinden.
Der Suchbegriff ist "Pivot" bzw. "unpivot", weil man letztendlich eine Pivot-Tabelle erstellt.
Dein SQL kannst du ja (in php dynmaisch) so zusammenbauen:
select BApool, max(POBEZ), JAHR
,sum(case when Monat = 1 then Betrag else null) "2001/01"
,sum(case when Monat = 2 then Betrag else null) "2001/02"
,sum(case when Monat = 3 then Betrag else null) "2001/03"
,sum(case when Monat = 4 then Betrag else null) "2001/04"
from BAsisdaten, pool, Geldeingang
where GEkey1 =BAkey1 AND
BApool = popool
group by BApool, jahr
order by 1, 2, 3
Sowas lässt sich auch in einer SP dann als "dynmaische Tabelle" per Execute und return Cursor zusammenstoppeln.
-
ich habe zwar selber noch nicht mit der SQL-Funktion LISTAGG gearbeitet, aber die Beschreibung geht in die Richtung.
-
Danke JotSo, nette Funktion
Leider nicht so ganz das was ich brauche.
Ich habe es mal versucht und Jahr/Monat sowie betrag in ein AlpaFeld selektiert und ausgegeben.
Schon ne tolle sache!
nur ist es kein 'feste' Tabelle so dass es nun so aussieht
1 Pool 1 1/2010=138, 3/2010=155, 4/2010=188...
2 Pool 2 2/2010=33, 4/2010=1214, 5/2010=21, ...
es sollte aber wenigstens so
Code:
1 Pool 1 1/2010=138, 3/2010=155, 4/2010=188...
2 Pool 2 2/2010=33, 4/2010=1214, 5/2010=21, ...
aussehen.
-
Hallo ILEMax,
bestimmt gibt es dafür komfortablere Lösungen, ich würde aber spontan mal Folgendes testen: ich würde eine neue Datei machen, in der ich je Monate/Jahre einen Datensatz habe mit (nur ein Feld mit Inhalt 1/2010, 2/2010 etc.) alle hinterlege. Die joine ich mit den anderen Dateien (outer join). Für die fehlenden Monate in der Datei 'Geldeingang' bekommst Du den Null-Wert.
Gruß JotSo
-
Wenn du den SQL sowieso dynamisch aufbauen musst, was spricht da gegen meine Lösung?
Similar Threads
-
By programmer400 in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 24-03-16, 13:55
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 20-01-14, 12:40
-
By Melanie in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 13-02-03, 10:30
-
By Steven in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 25-10-02, 10:32
-
By mott in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 02-05-02, 13:08
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