tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
496
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    louS louS ist offline Mitglied Silber
    Registriert seit
    Jan 2005
    Ort
    Erkelent (NRW)
    Beiträge
    95
    Hi,
    ich hab die Tabelle Genres und Filme.
    In der Filme Tabelle u.a. eine Spalte Genre dort wird die id aus Genres eingetragen (g_id). In Genres befindet sich g_id und g_title

    Im Frontend holt er sich dann zum jeweiligen Film das genre aus der Genre tabelle mit:

    SELECT * FROM Filme JOIN Genres ON Genre = g_id

    Den Titel kann ich dann per echo [g_title] ausgeben denn g_title befindet sich in der Tabelle Genres

    Sooooo jetzt kommt mein Problem
    In der Filme Tabelle befinden sich auch die Spalten Schauspieler1, Schauspieler2, Schauspieler3 und Schauspieler4.

    Und ich hab eine Tabelle namens Schauspieler, dort sind s_id und s_name drin.

    In der Filme Tabelle werden in den Schauspieler spalten die IDs aus Tabelle Schauspieler einegtragen.

    Aber ich bekomm die Join Abfrage einfach nicht hin oder bzw das echo

    SELECT * FROM Filme JOIN Schauspieler ON Schauspieler1 = s_name

    Kann mir da vielleicht einer helfen?

    Danke vielmals
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    In der Filme Tabelle werden in den Schauspieler spalten die IDs aus Tabelle Schauspieler einegtragen.
    SELECT * FROM Filme JOIN Schauspieler ON Schauspieler1 = s_id

    Wobei natürlich der Aufbau nicht gerade Umwerfend ist.
    Besser währen folgende Tabellen:
    FILME
    SCHAUSPIELER
    FILME_SCHAUSPIELER (bestehend aus f_id und s_id)
     

  3. #3
    louS louS ist offline Mitglied Silber
    Registriert seit
    Jan 2005
    Ort
    Erkelent (NRW)
    Beiträge
    95
    SELECT * FROM Filme JOIN Schauspieler ON Schauspieler1 = s_id

    Naja damit bekomm ich doch nur "Schauspieler1" aus "Filme" und wie krieg ich die relation zu "schauspieler" aus "Schauspieler2?"
     

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Mit Join wirds schnell unlesbar

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    SELECT  
        f.*,
        s1.s_name AS SCHAUSPILER1_NAME,
        s2.s_name AS SCHAUSPILER2_NAME
    FROM 
        Filme AS f,
        Schauspieler AS s1,
        Schauspieler AS s2
    WHERE
        f.Schauspieler1 = s1.s_id
        AND f.Schauspieler2 = s2.s_id

    Auf die gleiche Art kannst du auch gleich noch das Genre anhängen. Join ist zwar schneller, aber ich denke mal nicht das du tausende von Daten verwalten willst.
    Setze gute Indexe auf die Tabelle, sowas kann wunder wirken.
     

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 25.10.10, 15:40
  2. sql join auf 2 werte aus einer tabelle!
    Von pete21f im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 19.02.08, 10:10
  3. Antworten: 1
    Letzter Beitrag: 03.07.06, 11:54
  4. Antworten: 17
    Letzter Beitrag: 21.06.06, 08:58
  5. Antworten: 5
    Letzter Beitrag: 05.04.06, 09:46