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

Right Join mit neuem Join auf andere Tabelle

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Yves63, 23 November 2016.

  1. Yves63

    Yves63 Neuer Benutzer

    Hallo zusammen

    Ich habe vier Tabellen, die ich mit einem Right Join zu einer Abfrage (für einen View) erstellt habe:
    Tabellen:
    tbl_brauereien, tbl_brauereien_bilder, tbl_orte, tbl_kantone,

    Die SQL Abfrage sieht so aus und funktioniert:
    Select tbl_brauereien_brauerei, tbl_brauereien_bild_link, tbl_brauereien_bilder_jg, tbl_orte_ort, tbl_kantone_kanton
    FROM tbl_brauereien_bilder
    LEFT JOIN
    tbl_brauereien ON (tbl_brauereien_id = tbl_brauereien_fs_brauereien)
    LEFT JOIN
    tbl_orte ON (tbl_brauereien_fs_tbl_orte = tbl_orte_id)
    LEFT JOIN
    tbl_kantone ON (tbl_brauereien_fs_tbl_kantone = tbl_kantone_id)

    Resultat (eine Zeile)
    upload_2016-11-23_22-50-48.png

    Die Tabelle tbl_brauereien_bilder enthält wiederum einen Fremschlüssel zur Tabelle tbl_brauereien_glasart.
    ( tbl_brauereien_bilder_fs_glasart = tbl_Brauereien_glasart_ID)

    Ich kann das obige SQL im Select um tbl_brauereien_bilder_fs_glasart erweitern, dann erhalte ich auch ein korrektes Resultat, aber logischerweise wird der Fremdschlüsse und nicht die Bezeichnung angezeigt:
    Select tbl_brauereien_brauerei, tbl_brauereien_bild_link, tbl_brauereien_bilder_jg, tbl_orte_ort, tbl_kantone_kanton, tbl_brauereien_bilder_fs_glasart
    ergibt:
    upload_2016-11-23_22-59-0.png

    Zum Problem
    Wie lautet der Syntax, damit ich in der Select Zeile die Glasart (tbl_brauereien_glasart_art (aus der Tabelle tbl_brauereien_glasart)) hinzufügen kann mit folgendem Join
    tbl_brauereien_bilder_fs_glasart = tbl_Brauereien_glasart_ID

    Wenn ich die Tabelle in das From schreiben, dann erhalte ich eine Fehlermeldung:
    #1054 - Unbekanntes Tabellenfeld 'tbl_brauereien_fs_brauereien' in on clause

    uiuiui, hoffe, das war einigemassen verständlich.

    Gruss

    Yves
     

    Anhänge:

  2. akretschmer

    akretschmer Datenbank-Guru

    Indem Du das Feld der Tabelle, welches Du sehen willst, in die Select-Liste aufnimmst. Hint: exakt dafür ist die Select-Liste übrigens auch gedacht.
     
  3. Yves63

    Yves63 Neuer Benutzer

    Aha, mache ich doch gerne und befolge deine Anweisung.
    Ich füge das Feld tbl_brauereien_glasart_art hinzu

    Select tbl_brauereien_brauerei, tbl_brauereien_bild_link, tbl_brauereien_bilder_jg, tbl_orte_ort, tbl_kantone_kanton, tbl_brauereien_glasart_art
    FROM tbl_brauereien_bilder
    LEFT JOIN
    tbl_brauereien ON (tbl_brauereien_id = tbl_brauereien_fs_brauereien)
    LEFT JOIN
    tbl_orte ON (tbl_brauereien_fs_tbl_orte = tbl_orte_id)
    LEFT JOIN
    tbl_kantone ON (tbl_brauereien_fs_tbl_kantone = tbl_kantone_id)

    Kriege dann logischerweise (meiner Ansicht nach) folgenden Fehler zurück:
    #1054 - Unbekanntes Tabellenfeld 'tbl_brauereien_glasart_art' in field list

    Bitte erkläre mir doch nun, wie ich diesen Fehler eliminieren kann....
     
  4. ukulele

    ukulele Datenbank-Guru

    Code:
    Select tbl_brauereien_brauerei, tbl_brauereien_bild_link, tbl_brauereien_bilder_jg, tbl_orte_ort, tbl_kantone_kanton,
       tbl_brauereien_glasart.tbl_brauereien_glasart_art
    FROM tbl_brauereien_bilder
    LEFT JOIN
    tbl_brauereien ON (tbl_brauereien_id = tbl_brauereien_fs_brauereien)
    LEFT JOIN
    tbl_orte ON (tbl_brauereien_fs_tbl_orte = tbl_orte_id)
    LEFT JOIN
    tbl_kantone ON (tbl_brauereien_fs_tbl_kantone = tbl_kantone_id)
    LEFT JOIN tbl_brauereien_glasart
    ON tbl_brauereien_bilder_fs_glasart = tbl_brauereien_glasart.tbl_Brauereien_glasart_ID
    Irgendwie so. Deine Namensgebung ist extrem veriwrrend, wiso heißen Spalten tbl_?
     
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