Könnt Ihr mir auf die Sprünge helfen?

vogste

Benutzer
Beiträge
23
Hallo Forum,

ich habe folgendes SQL Statement erstellt um eine View zu erstellen:

CREATE OR REPLACE FORCE VIEW "V_XER_DOC_ART" ("XCID", "XCODE", "XNAME", "XDCID", "XDCID1", "XDCID2", "DDOCART", "DDOCID", "DDOCVER", "DDOCCNT", "DDOCCREUSR", "DDOCNAMEG", "DDOCNAMEE", "DMCID1", "DMCID2", "MCID", "MARTID", "MARTVER", "MARTNAMEGER", "MARTNAMEENG", "MARTTART", "MARTVALFRO", "MARTVALUNT", "MARTCURFLA", "MARTPROLEA", "MARTLEVIND") AS
select TXD.C_ID,
TXD.CODE,
TXD.TITLE,
TDX.C_ID,
TDX.C_ID_1,
TDX.C_ID_2,
TDD.PSE_DOC_ART,
TDD.DOCUMENT_ID,
TDD.DOC_VERSION,
TDD.SHEET_NO,
TDD.CRE_USER,
TDD.DOC_NAME_GER,
TDD.DOC_NAME_ENG,
0,
0,
0,
'',
'',
'',
'',
'',
NULL,
NULL,
'',
'',
NULL

from T_XERI_DAT TXD,
T_DOC_XERSAV TDX,
T_DOC_DAT TDD

where TXD.C_ID = TDX.C_ID_2
and TDX.C_ID_1 = TDD.C_ID
UNION
select TXD.C_ID,
TXD.CODE,
TXD.TITLE,
TDX.C_ID,
TDX.C_ID_1,
TDX.C_ID_2,
TDD.PSE_DOC_ART,
TDD.DOCUMENT_ID,
TDD.DOC_VERSION,
TDD.SHEET_NO,
TDD.CRE_USER,
TDD.DOC_NAME_GER,
TDD.DOC_NAME_ENG,
TMDO.C_ID_1,
TMDO.C_ID_2,
TMD.C_ID,
TMD.PART_ID,
TMD.PART_VERSION,
TMD.PART_NAME_GER,
TMD.PART_NAME_ENG,
TMD.KPR_TEILE_ART,
TMD.VAL_FROM,
TMD.VAL_UNTIL,
TMD.CUR_FLAG,
TMD.PSE_KONSTR,
TMD.LEV_IND

from T_XERI_DAT TXD,
T_DOC_XERSAV TDX,
T_DOC_DAT TDD,
T_MASTER_DOC TMDO,
T_MASTER_DAT TMD

where TXD.C_ID = TDX.C_ID_2
and TDX.C_ID_1 = TDD.C_ID
and TDD.C_ID = TMDO.C_ID_2
and TMDO.C_ID_1 = TMD.C_ID;


Siehe Ergebnis in Tabellenform.

upload_2016-7-5_13-7-10.jpeg

Erreicht werden soll, dass alle Dokumente (XERI-Code) mit den Zuordnungen zu den Konstruktions-Dokumenten (ZG-DokumentNr usw) mit den zugehörigen Artikeln angezeigt werden. Jetzt kann es aber sein, dass ein Dokument zwar Konstruktionsdokument-Zuordnung hat aber keine Artikelzuordung.
Leider macht mir die View für alle Dokumente mit wie auch ohne einen leeren Artikeleintrag.
Was mache ich falsch? Ich sitzte total auf der Leitung.

Danke und Gruss
Stephan
 
Werbung:
Tabelle
T_DOC_DAT.C_ID -> INTEGER -> 10
T_DOC_DAT.PSE_DOC_ART -> CHAR -> 3
T_DOC_DAT.DOCUMENT_ID -> CHAR -> 20
T_DOC_DAT.SHEET_NO -> CHAR -> 3
T_DOC_DAT.DOC_VERSION -> CHAR -> 2

Datensatz 1
C_ID: 1231231231
PSE_DOC_ART: ZG
DOCUMENT_ID: 10084
SHEET_NO: 000
DOC_VERSION: NULL

Datensatz 2
C_ID: 2232232232
PSE_DOC_ART: ZG
DOCUMENT_ID: 87564
SHEET_NO: 000
DOC_VERSION: NULL

Beziehungstabelle
T_DOC_XERSAV.C_ID -> INTEGER -> 10
T_DOC_XERSAV.C_ID_1 -> INTEGER -> 10 (beinhaltet T_DOC_DAT.C_ID)
T_DOC_XERSAV.C_ID_2 -> INTEGER -> 10 (beinhaltet T_XER_DAT.C_ID)

Beziehungs-Datensatz 1
C_ID: 9090909090
C_ID_1: 1231231231
C_ID_2: 3453453453

Beziehungs-Datensatz 2
C_ID: 8080808080
C_ID_1: 2232232232
C_ID_2: 3453453453

Tabelle
T_XERI_DAT.C_ID -> INTEGER -> 10
T_XERI_DAT.CODE -> CHAR -> 20
T_XERI_DAT.TITLE -> CHAR -> 80

Datensatz 1
C_ID: 3453453453
CODE: WT-00281-EN
TITLE: AP-CH....

Beziehungstabelle
T_MASTER_DOC.C_ID -> INTEGER -> 10
T_MASTER_DOC.C_ID_1 -> INTEGER -> 10 (beinhaltet T_MASTER_DAT.C_ID)
T_MASTER_DOC.C_ID_2 -> INTEGER -> 10 (beinhaltet T_DOC_DAT.C_ID)

Beziehungs-Datensatz 1
C_ID: 7070707070
C_ID_1: 4564564564
C_ID_2: 1231231231

Beziehungs-Datensatz 2
C_ID: 7171717171
C_ID_1: 7897897897
C_ID_2: 1231231231

Tabelle
T_MASTER_DAT.C_ID -> INTEGER -> 10
T_MASTER_DAT.PART_ID -> CHAR -> 20
T_MASTER_DAT.PART_VERSION -> CHAR -> 2
T_MASTER_DAT.PART_NAME -> CHAR -> 80

Datensatz 1
C_ID: 7070707070
PART_ID: 12304
PART_VERSION: NULL
PART_NAME: Welle

Datensatz 2
C_ID: 70171717171
PART_ID: 780531
PART_VERSION: NULL
PART_NAME: Abdeckplatte

Hallo AKretschmer,

ich hoffe Du kannst damit etwas anfangen.

Danke und Gruss
Stephan
 
Werbung:
Hallo AKretschmer,

ich hoffe Du kannst damit etwas anfangen.

Nicht wirklich, das tippe ich jetzt nicht ab.

Wenn ich aber "Jetzt kann es aber sein, dass ein Dokument zwar Konstruktionsdokument-Zuordnung hat aber keine Artikelzuordung.
Leider macht mir die View für alle Dokumente mit wie auch ohne einen leeren Artikeleintrag." lese und dazu Dein SQL sehe: du solltest das mal auf expliziete Joins umstellen, vielleicht löst sich das da schon von selber.
 
Zurück
Oben