MySQL Abfrage über drei Tabellen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Thomas2705.

    MySQL Abfrage über drei Tabellen

    Ich versuche eine Abfrage über drei Tabellen zu erstellen:
    ds_firma
    ds_vertrag
    vertrag_agenda

    Primärschlüsselfeld ist jeweils: ds_firma_id; ds_vertrag_id; vertrag_agenda_id
    Es besteht die Beziehung 1:n

    Es sollen Datensätze mit folgendem Code aufgerufen werden:

    SQL-Abfrage

    1. "SELECT
    2. ds_firma.ds_firma_id,ds_firma.ds_firma_nr,ds_firma.ds_firma_name,
    3. ds_vertrag.ds_vertrag_id,ds_vertrag.ds_vertrag_nr,
    4. vertrag_agenda.vertrag_agenda_id,vertrag_agenda.vertrag_agenda_nr,vertrag_agenda.vertrag_agenda_sparte
    5. FROM ds_firma,ds_vertrag,vertrag_agenda
    6. INNER JOIN ds_vertrag
    7. ON ds_firma.ds_firma_id = ds_vertrag_nr
    8. INNER JOIN vertrag_agenda
    9. ON ds_vertrag_id = vertrag_agenda_nr"


    Alle Tabellen sind tatsächlich vorhanden; auch alle genannten Spalten. Es kommt der Fehler "Not unique table 'ds_vertrag'"... Ich verstehe nicht was ich hier falsch mache?
    Ich habe es dahingehend geändert und es funktioniert:

    SQL-Abfrage

    1. "SELECT
    2. ds_firma.ds_firma_id,ds_firma.ds_firma_nr,ds_firma.ds_firma_name,
    3. ds_vertrag.ds_vertrag_id,ds_vertrag.ds_vertrag_nr,
    4. vertrag_agenda.vertrag_agenda_id,vertrag_agenda.vertrag_agenda_nr,vertrag_agenda.vertrag_agenda_sparte,vertrag_agenda.vertrag_agenda_beginn
    5. FROM ds_firma
    6. INNER JOIN ds_vertrag
    7. ON ds_firma.ds_firma_id = ds_vertrag_nr
    8. INNER JOIN vertrag_agenda
    9. ON ds_vertrag_id = vertrag_agenda_nr"


    Ich weiß trotzdem nicht warum "ds_firma" und nicht "ds_vertrag" oder "vertrag_agenda" nach FROM verwendet wird?