Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL lässt Zeilen aus, die ein Benutzer bereits gesehen hat, wenn er eine gesehene Tabelle überprüft

Sie müssen die Einschränkung auf uuid_user verschieben aus dem WHERE -Klausel zum ON Klausel des Joins:

SELECT * 
FROM maintable m 
LEFT JOIN seentable s 
    ON m.uuid = s.uuid AND s.uuid_user = '[user]'
WHERE s.uuid IS NULL;

Das Obige ist die Logik, die Sie hier wollen. Jetzt tritt eine erfolgreiche Verknüpfung zwischen Datensätzen aus den beiden Tabellen immer dann auf, wenn uuid Werte stimmen mit und überein wenn der uuid_user Wert aus der gesehenen Tabelle stimmt mit einem Wert überein. Beachten Sie, dass der uuid_user Wert nicht Übereinstimmung mit einem Datensatz, wird er nicht herausgefiltert, was bei Ihrer aktuellen Abfrage passieren wird.