Schwierigkeiten mit MySQL-Anweisung (JOIN?)



  • Hallo zusammen,

    ich sitze hier schon ein paar Stunden und komme einfach nicht weiter..

    Ich habe 3 Tabellen

    artists
    -------
    a_id (primär-schlüssel, eindeutig)
    m_id (auch eindeutig, aber nur int)
    v_id (auch eindeutig, aber nur int)
    
    media
    -----
    index (eindeutig, auto_increment, aber unbekannt)
    m_id (kann mehrfach in tabelle vorkommen)
    
    videos
    -----
    index (eindeutig, auto_increment, aber unbekannt)
    v_id (kann mehrfach in tabelle vorkommen)
    

    und alles was ich möchte, ist für artist.a_id = 1 alle verweisten medias und videos zu bekommen.

    Folgendes gibt 32 Ergebnisse. Seltsam, denn es gibt 4 Datensätze in videos und 8 in media. 8*4=32
    Ich möchte aber nur (8+4=) 12 Ergebnisse...

    SELECT
      media.m_id,
      media.m_title,
      videos.v_id,
      videos.embed_code,
      videos.description
    FROM
      artists,
      media,
      videos
    WHERE
      artists.a_id = 1 AND
      media.m_id = artists.a_id AND
      videos.v_id = artists.a_id
    

    Ich habe bereits ein paar Join-Versionen ausprobiert, aber keine hat funktioniert.

    Hat jemand eine Idee? Ich blicks leider nicht ganz..

    Danke und Grüße,
    Chris



  • Ach mist, da gabs ein Übertragungsfehler.. Hier die korrigierte Version.

    SELECT
      media.m_id,
      media.m_title,
      videos.v_id,
      videos.embed_code,
      videos.description
    FROM
      artists,
      media,
      videos
    WHERE
      artists.a_id = 1 AND
      media.m_id = artists.[b]m[/b]_id AND
      videos.v_id = artists.[b]v[/b]_id
    


  • Ok, ist erledigt. Ich benutze einfach mehrere SQL-Anweisungen:)


Anmelden zum Antworten