-
SQL laufende Nr. Denkanstoss gesucht. V5R4
Hallo *all,
ich muß für eine Schnittstellen-Datei eine View erstellen in der pro Kunde die offenen Posten jeweils eine laufende Nummer bekommen.
Kunde 11173 Pos 1 Beleg 12345 offen 500€
Kunde 11173 Pos 2 Beleg 56894 offen 100€
Kunde 11173 Pos 3 Beleg 78711 offen 200€
Kunde 11994 Pos 1 Beleg 56665 offen 10€ etc.
Teile der Beleg-Nummer scheidet aus, da die nicht wirklich eindeutig sind.
Welche Möglichkeiten habe ich da?
(Wobei ich der Meinung bin das Thema hatten wir schon mal, habe es aber leider nicht gefunden)
GG
-
Ab V6 geht das mit "row_number() over (order by Beleg)".
Vor V6 hast du leider keine Chance dies per SQL zu lösen.
-
Das geht mit OLAP Ranking-Funktionen.
Code:
Create View YourSchema.YourView
as (Select Row_Number() Over(Partition By Kunde Order By OffenePosten) lfd,
a.*
From YourTable);
@Baldur:
OLAP-Ranking Funktionen wurden mit V5R4 eingeführt und für einen Gruppen-Wechsel ist die PARTITION BY-Anweisung erforderlich.
Birgitta
-
Hallo Birgitta,irgendwann möchte ich ja mal Mäuschen spielen und sehen bei welchen SQL-Problemen Du dich anstrengen musst.Danke für die Lösung.GG
-
Das mit dem SQL ist immer so eine Sache.
Im Moment habe ich auf V5R2 das Problem, dass ein skalarer Subselect mit Count(*) in keinster Weise einen Index verwenden will und noch nicht mal einen Vorschlag dazu hat.
Dabei würde der Primary Index vollkommen genügen.
Da es sich um embedded SQL handelt, lese ich nun die benötigten Information beim Fetch einzeln aus und das geht wieder sauschnell.
-
Zitat von KingofKning
Hallo Birgitta,irgendwann möchte ich ja mal Mäuschen spielen und sehen bei welchen SQL-Problemen Du dich anstrengen musst.Danke für die Lösung.GG
Ein Tetris in SQL zu realisieren könnte auch für Biggi etwas Arbeit sein ;-) Ansonsten wird das schon eine Herausforderung.
Ich möchte nur meine Alarmglocke bei "Belegnummer nicht eindeutig" vermerkt haben...
-
Kannst die Alarmglocke wieder abschalten,
die lfd-Nr. ist 4 Stellig, die Beleg-Nr. 10 stellig. Da kann ich nicht garantieren das ein Teil der Beleg-Nr. eine eindeutige lfd-nr. ergibt. Insbesondere nicht so schön fortlaufend.
GG
-
Zitat von KingofKning
Hallo Birgitta,irgendwann möchte ich ja mal Mäuschen spielen und sehen bei welchen SQL-Problemen Du dich anstrengen musst.Danke für die Lösung.GG
Das eine oder andere gibt es da schon noch!
Tetris muss es nicht unbedingt sein. Mir reichen schon die dynamischen SQL Statemente mit Single und Double Byte Characters und Funktionen, die keine CCSID-Konvertierung zulassen.
Birgitta
Similar Threads
-
By KingofKning in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 25-07-14, 15:45
-
By KingofKning in forum IBM i Hauptforum
Antworten: 14
Letzter Beitrag: 17-05-14, 10:33
-
By XMan in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 05-03-14, 09:54
-
By roti in forum NEWSboard Server Software
Antworten: 2
Letzter Beitrag: 17-02-14, 11:23
-
By dino in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 18-12-13, 13:59
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