Anmelden

View Full Version : join mit drei o. mehr Dateien



muadeep
17-12-08, 15:14
Hallo,

versuche verzweifelt eine join-Datei mit drei Dateien zu erstellen!

a) Datei/Datenbank lässt sich erstellen (mit CRTLF)
b) es sind dann aber leider keine Sätze in der Datei/Datenbank



A R XXXF1 JFILE(FR1PF FR2PF FR3PF)
A J JOIN(1 2)
A JFLD(LFDNR LFDNR)
A J JOIN(1 3)
A JFLD(LFDNR LFDNR)
A LFDNR JREF(1)
A FELD1
A XYZ JREF(2)
A BBB JREF(3)
A WERKNR
A K LFDNRmache ich das ganze mit nur zwei Dateien/Datenbanken dann funktioniert es wunderbar !!!

RobertMack
17-12-08, 15:26
ich vermisse JDFTVAL

Fuerchau
17-12-08, 17:23
JDFTVAL ist nur nötig, wenn ein Satz in der 2. oder 3. Datei fehlt (entspricht Left Join), ohne ist das ein Inner join.

muadeep
18-12-08, 08:38
super, genau das war's !! thx

jetzt habe ich aber noch folgendes Problem:

das Feld "WERKNR" besteht jeweils in der Dateien/Datenbanken "FR2PF" und "FR3PF"

Dieses Feld (WERKNR) sollte natürlich auch entspr. nur einmal in der neuen Join-Datei vorkommen (mit dem zugehörigen Wert aus "FR2PF" bzw. "FR3PF")

Fuerchau
18-12-08, 11:10
Du kannst nicht entweder oder sondern nur beide Felder angeben.
Hilfreich ist hier RENAME:

A WERKNR JREF(2)
A WERKNR JREF(3) RENAME(WERKNR3)

muadeep
18-12-08, 12:03
oh, das ist aber schlecht!

=> gibt's ne andere Möglichkeit so was zu machen?


PS mit RENAME(WERKNR3) funktioniert's auch nicht!
bekomme beim Umwandeln die Fehlermeldung: "Feld- oder ALIAS-Name im Satz mehrfach angegeben."

Fuerchau
18-12-08, 12:20
DDS ist da leider etwas eingeschränkt.
Ggf. hilft hier noch ein Trick, falls das Feld ein Zeichenfeld ist:

A WERKNR3 SST(WERKNR, 1) JREF(3)

Fuerchau
18-12-08, 13:31
Und RENAME klappt doch, man muss nur andersrum denken:

A NEWNAME JREF(N) RENAME(OLDNAME)