-
Hallo,
kannst du ein Beispiel schicken, welche Daten du hast und was du dir für ein Ergebnis erwartest.
In deinem Beispiel verwendest du auch DISTINCT. Damit fehlen dir eventuell einige Sätze für die Summe.
lg Andreas
-
ich habe Buchungen im FILE1.
Der Key für die Buchung besteht aus 3 numerischen Feldern:
F01GNR 2 0
F01TNR 4 0
F01ZNR 2 0
Ich bräuchte die 3 Felder Distinct um jeweils nur einmal die Vorgabezeit(eigentlich die höchste) zu erhalten.
Ich habe jetzt versucht die 3 Keyfelder zusammenzufügen und die Summe zusätzlich.
Anschließend hätte ich mir gedacht das ich evtl. mit Substr die Summen der Vorgabezeiten erstellen kann.
Bin beim googlen ob das überhaupt so funktionieren kann.
Hast du vielleicht einen besseren Ansatz?
Gruß
Tarki
-
Ich bin mir noch immer nicht sicher dich richtig verstanden zu haben.
Eventuell suchst du sowas?!:
Code:
Select distinct F01GNR concat F01TNR concat F01ZNR
from (
Select F01GNR, F01TNR, max (F01ZNR) F01ZNR
from xyz
group by f01gnr, f01tnr
) t1
Ansonsten schreib bitte mal ein paar Beispiel Sätze wie sie in der Tabelle stehen und dann wie die Sätze im Ergebnis aussehen sollen.
Ansonsten wünsch ich noch eine nicht all zu lange Nacht
-
Das sind Buchungen zu einem Auftrag.
Code:
SEQ GNR TNR ZNR VGZT PNR
1 90 100 1 8 405
2 16 400 2 120 444
3 16 400 1 120 444
4 19 500 3 240 405
5 19 500 4 75 444
6 19 500 3 240 510
7 24 1 1 120 601
8 34 100 2 75 405
9 34 100 12 15 405
10 34 200 1 48 444
Ich möchte hier die gesamte Vorgabezeit(VGZT) ermitteln.
In diesem Auftrag haben die Penr 405 und 510 gemeinsam auf einer Tätigkeit gearbeitet.
Ich erhalte bei meiner Abfrage immer die Vorgabezeit von seq 4 und 6.
Die sollte er nur einmal summieren, dh. das distinct über die 3 Felder.
Sollte ein Arbeitsschritt (GNR, TNR, ZNR) mehrfach vorkommen, dann bräuchte ich die größte Vorgabezeit von diesen Arbeitsschritten.
Gruß und Gute Nacht.
Tarki
-
Meinst Du sowas?
Code:
Select GNR, TNR, ZNR, Max(VGZT)
from YourFile
Group By GNR, TNR, ZNR
Birgitta
-
Gut, jetzt wissen wir schon mal wie die Quelle aussieht. Jetzt versteh ich das schon besser.
Kannst du bitte auch noch das Ergebnis posten, welches du dir für diese Quelle vorstellst.
Das würde uns (oder zumindest mir) sicher auch noch Helfen.
-
Morgen,
das Statement von Frau Hauser bekomme ich schon die richtigen Einzeldaten.
Code:
Select GNR, TNR, ZNR, Max(VGZT)
from YourFile
Group By GNR, TNR, ZNR
aber wie kann ich da die gesamten Summen über VGZT bilden?
Dachte mir das das so funktionieren müsste:
Code:
Select SUM(VGZT) from (
Select GNR, TNR, ZNR, Max(VGZT)
from YourFile
Group By GNR, TNR, ZNR)
as X
aber bekomme da die Meldung:
Spalte VGZT nicht in angegebenen Tabellen.
Was mache ich da schon wieder falsch?
-
Du musst dem Kind Max(VGZT) einen Namen geben und diesen verwenden.
Ich würde an dieser Stelle auch keinen Sub-Select verwenden sondern eine CTE (Common Table Expression) vorziehen. Verschachtelte Sub-Selects werden schnell unüberschaubar.
Code:
With x as (Select GNR, TNR, ZNR, Max(VGZT) MaxVGZT
From YourFile
Group By GNR, TNR, ZNR)
Select Sum(MaxVGZT)
From X;
Birgitta
-
Danke Andreas und Birgitta für eure Hilfe.
-
 Zitat von B.Hauser
Du musst dem Kind Max(VGZT) einen Namen geben und diesen verwenden.
Ich würde an dieser Stelle auch keinen Sub-Select verwenden sondern eine CTE (Common Table Expression) vorziehen. Verschachtelte Sub-Selects werden schnell unüberschaubar.
Code:
With x as (Select GNR, TNR, ZNR, Max(VGZT) MaxVGZT
From YourFile
Group By GNR, TNR, ZNR)
Select Sum(MaxVGZT)
From X;
Birgitta
Hallo Brigitta,
wenn ich noch die 2 anderen Felder dazufüge seq und Pnr verfälscht das mein Ergebnis(1061).
Die richtigen Minuten sind 821.
Gibt es da noch eine Möglichkeit diese Statement zu verfeinern?
-
Vielleicht brauchst du sowas?:
Code:
With x as (Select GNR, TNR, ZNR, Max(VGZT) MaxVGZT
From YourFile
Group By GNR, TNR, ZNR),
y as (select * from YourFile)
Select y.seq, y.PNR, Sum(x.MaxVGZT)
From X, Y
where x.gnr = y.gnr
And x.tnr = y.tnr
and x.znr = y.znr;
(ungetestet)
Similar Threads
-
By tarkusch in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 03-12-12, 15:24
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 16-11-06, 10:15
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By Kaufmann in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 28-06-06, 14:11
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
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