-
Zur hierarchischen Abfrabe habe ich auch ein Beispiel falls es dir weiter hilft:
Code:
NR SUCH
1.000 Wandfarbe
1.000 Dispersion
2.000 Lack
2.000 Kunstharz
1.000 Bla Bla
1.000 Noch was
Code:
Select Tree From
(
select level , sys_connect_by_path (such, ' ') tree
From
(
Select 0 nr2, ' ' such , -1 root from sysibm/sysdummy1
union
Select nr2, such, nr2 - 1 root from
(Select row_number() over (order by nr) nr2, such from pranlib/t1
where nr = 1000 ) t3
) t2
connect by prior root = nr2
) t1
order by level desc
fetch first row only ;
Code:
Noch was Bla Bla Dispersion Wandfarbe
Allerdings ist hierfür die Bedingung WHERE NR = 1000 wichtig!
Jedoch ist die RRN dafür egal.
lg Andreas
-
Birgitta vielen Dank
Wie immer, schnell und kompetent
Andreas,
auch dir sei gedankt
@alle
Die hirachische Abfrage sieht am 'Einfachsten' aus
Wie kann ich feststellen on der Kunde TR3 hat?
Ist das bei regelmäßiger PTF Einspielung automatisch so (z.zt. aktuell ist ja schon TR5)
Oder muß das seperat geordert werden (wie)
Danke
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Eigentlich sollten die hierarchischen Query-Anweisungen mit dem aktuellen Release-Stand in Release 7.1 vorhanden sein.
(Die RCTE gehen halt auch schon unter V5R4)
Birgitta
-
Hi,
das finde ich SUUUUPER Interessant.
nur verstehen tuh ich das nicht
Ich habe nun bei mir
Code:
With x as (Select Row_Number() over(Order By kkmanr, rrn(a)) as seq,
a.* from ankkop a where kkmanr = 1082),
y as (Select kkmanr, sys_connect_by_path(Trim(digits(KKLFDN)), ' ') as Text
from x
Start With kkmanr = 1082 and seq = 1
connect by Prior Seq = Seq - 1)
Select kkmanr, Max(Text) Text
From y
Group By kkmanr
um alle kklfdn hintereinander zu bekommen, die der kkmanr= 1082 hat.
das Ergebnis ist aber
Code:
MANDANTEN-NR TEXT
1.082 *POINTER
Was mach ich falsch?
Danke
der ILEMax
-
Du verwendest STRSQL!
Das Ergebnis aus sys_connect_by_path() ist ein Large Object. Large Objects können nur mit System-i-Navigator angezeigt werden. Anderenfalls must Du das Ergebnis in CHAR oder VARCHAR umwandeln.
Birgitta
-
ich hab das
Code:
sys_connect_by_path(Trim(digits(KKLFDN)), ' ') as Text
geändert in
Code:
char(sys_connect_by_path(Trim(digits(KKLFDN)), ' ')) as Text
und bekomme
als Meldung, (auch bei varchar)
obwohl nur 3 Werte a 7 byte vorhanden sind
ILEMax
-
Probiere es mit TRIM oder im schlechtesten Fall mit SUBSTRING.
lg Andreas
-
nö, immer 'Ergebnis zu lang'
-
Mittels SUBSTR solltest du eigentlich einen Teil herausbekommen.
Allerdings ist die Funktion auf 1Mb beschränkt und arbeitet nicht "distinct".
Solltest du also doch mehr Werte haben, liegts nicht am substring sondern an der Verkettung.
Ggf. also vorher per DISTINCT auf eindeutige Werte reduzieren.
Das Ergebnis des sys_connect_by_path kannst du auch vorher casten:
cast(sys_connect_by_path(...) as varchar(nn)) as Text
Siehe auch hier:
http://publib.boulder.ibm.com/infoce...61%74%68%22%20
-
Danke,
aber ...
das geht leider auch nicht
hier mal mein Befehl
Code:
With x as (Select Row_Number() over(Order By kkmanr, rrn(a)) as seq,
a.* from ankkop a where kkmanr = 38),
y as (Select kkmanr, cast(char(sys_connect_by_path(
Trim(digits(KKLFDN)), ' ')) as varchar(10000)) as Text
from x
Start With kkmanr = 38 and seq = 1
connect by Prior Seq = Seq - 1)
Select kkmanr, Max(Text) as Text
From y
Group By kkmanr
Die Datei hat 6 Sätze mit kkmanr = 38, kklfdn ist 7P 0 definiert
Sql sagt: "Ergebnis zu lang"
-
Schau mal deinen SQL genau an, da ist ein cast zu viel drin!
Lass mal char(......) weg!
Die Funktion CHAR versucht nämlich einen CAST(... as char(1000000)) und das ist natürlich zu lang!
PS:
Auch der TRIM bei Digits ist unsinnig, da Digits keine Leerzeichen zurückgibt.
Similar Threads
-
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 malzusrex in forum IBM i Hauptforum
Antworten: 8
Letzter Beitrag: 19-09-06, 11:04
-
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