[PHP/MySQL] 2 Werte aus 2 Tabellen rausnehmen

  • Hallo Users,


    ich habe ein kleines denkfehler und zwar möchte ich 2 Werte vergleichen und davon 1 Anzeigen lassen.

    Zitat

    Tabelle 1 'Users':
    Id, Username, e-mail

    Zitat

    Tabelle 2 'Logins':
    id, u_id, date

    Ich möchte vom Eingeloggten User den letzten Login Datum anzeigen lassen. u_id wäre die ID vom user in der Tabelle 1. Wie soll ich das nun alles machen? Ich habe mehrere Varianten versucht nur ich bekmme eine SQL Fehlermeldung. Dann hätte ich noch das Problem mit das "aussortieren" vom letzten Datum

    Best Regards


    Ita89

  • du kannst auch in der 1. Tabelle u_id noch einfügen, das alles mit der UserID handlen^^


    Also fragst du in der 2. Tabelle die u_id ab, die sich gerade eingeloggt hat und fertig.

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.


  • Warum sollte man hier einen JOIN anwenden? Das macht keinen Sinn.


    SQL
    SELECT date FROM tabelle2 WHERE tabelle1.id = tabelle2.id


    Auch das macht keinen Sinn, denn hier werden alle Logins von allen Usern gesucht und nicht der letzte Login eines Users.


    du kannst auch in der 1. Tabelle u_id noch einfügen, das alles mit der UserID handlen


    Ich nehme Stark an, dass "u_id' bereits als Foreign Key die ID der User repräsentiert.


    Meine Lösung:


    Wichtig ist, dass die Tabellen zunächst korrekt aufgesetzt sind. Foreign Keys sind ausschlaggebend und ein "id"-Feld bei der Login-Tabelle halte ich für überflüssig. Daher folgendes Setup:



    Nun können wir wie folgt den letzten Login einer bestimmten UserID (hier: 1) abrufen:


    SQL
    SELECT `l`.`date`
    FROM `logins` AS `l`, `users` AS `u`
    WHERE `u`.`id` = `l`.`user_id`
    AND `u`.`id` = 1
    ORDER BY `l`.`date` DESC
    LIMIT 1;