LEFT JOIN Abfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • crisdoe
    antwortet
    ... hier die tabellenstruktur:
    katalog_autor enthält u.a. name und autor_id
    katalog_buch enthält die autor_id (autor_1) nicht aber den namen den ich für die ausgabe benötige!

    danke und gruss,
    crisdoe

    PHP-Code:
    CREATE TABLE katalog_autor (
      
    autor_id int(10NOT NULL auto_increment,
      
    nachname varchar(255),
      
    vorname varchar(255),
      
    name varchar(255)
    TYPE=MyISAM;


    CREATE TABLE katalog_buch (
      
    buch_id int(11NOT NULL auto_increment,
      
    titel varchar(255),
      
    untertitel varchar(255),
      
    reihe varchar(255),
      
    autor_1 int(10)
    TYPE=MyISAM
    Zuletzt geändert von crisdoe; 17.05.2003, 11:06.

    Einen Kommentar schreiben:


  • Günni
    antwortet
    Poste mal bitte die Tabellenstruktur der zwei Tabellen die du hast...

    PHP-Code:
    SELECT FROM katalog_buch AS T1
    LEFT OUTER JOIN katalog_autor 
    AS T2  
    USING
    (Autor)
    WHERE T1.titel 
    LIKE 
    '".$title."%' 
    ORDER BY titel ASC 
    ") 
    Mehr zu Using siehe hier

    Einen Kommentar schreiben:


  • crisdoe
    hat ein Thema erstellt LEFT JOIN Abfrage.

    LEFT JOIN Abfrage

    ... zu später stunde
    folgendes problem: ich habe eine tabelle 'katalog_buch', in dieser stehen u.a die namen der autoren und ihre autor_id. in einer zweiten tabelle 'katalog_buch' steht u.a auch die autor_id aus der ersten tabelle.
    soweit sogut,... auf einer seite der anwendung frage ich die tabelle 'katalog_buch' ab, aber nun möchte ich bei der ausgabe in html natürlich nicht die autor_id stehen haben, sondern den namen des dazugehörigen autors.
    z.Zt. sieht die ausgabe so aus:

    1 Buchtitel1 28
    2 Buchtitel2 12
    3 Buchtitel3 45

    ich hätte es aber gerne so:

    1 Buchtitel1 Max Müller
    2 Buchtitel2 Dieter Maier
    3 Buchtitel3 Karl Koch

    ich denke da könnte ein LEFT JOIN abhilfe schaffen, nur leider haben alle experimente nicht das gesuchte ergebnis gebracht.
    vieleicht weis einer rat

    mfg, crisdoe

    PHP-Code:
        // stark vereinfachte und gekürzte version
         
        // db zeugs
        
    @include('include/connect.inc.php');

        
    // variable setzten (hier zu testzwecken)
        
    $title "";    
        
        
    // query
        
    $sql mysql_query("SELECT * FROM katalog_buch AS T1
                                     LEFT OUTER JOIN katalog_autor AS T2  
                                     ON T2.autor_id = T1.autor_1
                                     WHERE T1.titel 
                                     LIKE '"
    .$title."%' 
                                     ORDER BY titel ASC 
                                    "
    ) or die (mysql_error()); 
        
    $result mysql_num_rows($sql) or die (mysql_error());
        
        
    // ergebnisse auslesen
        
    while($row mysql_fetch_array($sql)) {
        
    $buch_id $row['buch_id'];
        
    $titel =  $row['titel'];
        
    $autor_1 =  $row['autor_1'];
        
        
    /// ausgabe
        
    echo "<strong>".$buch_id."</strong>&nbsp;".$titel."&nbsp;<strong>".$autor_1."</strong><br>";
        } 
Lädt...
X