1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

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

Dieses Thema im Forum "Oracle" wurde erstellt von vogste, 5 Juli 2016.

  1. vogste

    vogste Benutzer

    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
     
  2. akretschmer

    akretschmer Datenbank-Guru

    bitte mach daraus mal ein einfaches, nachvollziehbares Beispiel, was man vielleicht mal nachstellen kann.
     
  3. vogste

    vogste Benutzer

    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
     
  4. akretschmer

    akretschmer Datenbank-Guru

    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.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden