Probleme mit Tabellenverknüpfung in SQL



  • Hi,

    ich habe 2 Tabellen. Eine nennt sich download die andere download_version. Downloadversionen können downloads zugeordnet werden und downloads werden Projekten zugeordnet.

    Jetzt möchte ich anhand der ProjektID, an die ein oder mehrere Downloads sich beziehen, die Namen der Download Versionen haben.

    Ich habe dies bisher mit 2 Schleifen gelöst:

    $result1 = mysql_query ("select `id` from download where project_id=1");
    
    while ($row1 = mysql_fetch_array($result1)) 
    {
        $result2 = mysql_query ("select `name` from download_version where download_id=".$row1['id']);
    
        while ($row2 = mysql_fetch_array($result2)) 
        {
            echo ($row2['name']."\n");
        }
    }
    

    Ist natürlich absolut keine schöne lösung. Jetzt habe ich es versucht die beiden Tabellen in einem Query zu verknüpfen, doch das will nicht, ich bekomm nur unsinn raus 😞

    select download_version.name 
    
    from download, download_version 
    
    where download.project_id = 1 
    and download_version.download_id = download.id
    

    Wie müsste das Query richtig lauten und vorallem warum?

    danke im voraus und liebe grüße!



  • hat sich erledigt, hatte 2 primärschlüssel vertauscht und dadurch kam nur mist. trotzdem danke



  • select name from download inner join download_version where project_id=download_id
    


  • project_id durch id ersetzen. hab mich verlesen.


Log in to reply