SQL-Anweisung INNER JOIN



  • Was is an der SQL-Anweisung falsch???

    SELECT *
    FROM Buch
    INNER JOIN Verleih ON Buch.ausgeliehen_am=Verleih.ausgeliehen_am

    Ich möchte alle Daten aus der Tabelle Buch anzeigen lassen, aber den Wert ausgeliehen_am soll er mir von der Tabelle Verleih "ziehen".



  • Erstens: Die Frage gehört eher ins DB-Board, vermute ich.

    Zweitens: Afaik gibt dir das alle Spalten aus beiden beteiligten Tabellen aus. Eventuell könntest du das einschränken mit "SELECT Buch.* FROM..." (oder du mußt explizit alle Spalten aufzählen, die du brauchst)



  • Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum Datenbanken verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Wenn Du noch dazu schreibst, was nicht funktioniert kann man dir vielleicht auch helfen. Gibt es eine Fehlermeldung? Entspricht das Ergebnis nicht dem was Du erwartet hast?

    Einfach geraten würde ich sagen, es gibt in der Tabelle Buch die Spalte 'ausgeliehen_am' nicht....



  • Du kannst auswählen, welche Spalten angezeigt werden sollen.

    SELECT  Buch.Spalte1, Buch.Spalte2,..., Verleih.ausgeliehen_am
    FROM    Buch INNER JOIN Verleih
             ON Buch.ausgeliehen_am = Verleih.ausgeliehen_am
    


  • Nun ja, wenn tatsächlich ausgeliehen_am der Foreign Key sein sollte, hoffe ich mal, dass er nicht 2 Bücher am gleichen Tag verleiht. Dann funktioniert das nämlich schon nicht mehr...



  • SELECT Buch.*
    FROM Buch INNER JOIN Verleih ON Buch.ausgeliehen_am=Verleih.ausgeliehen_am

    er weiss sonst nicht, auf welche tabelle sich das "*" bezieht.


Log in to reply