Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL omettant les lignes qu'un utilisateur a déjà vues en vérifiant une table vue

Vous devez déplacer la restriction sur uuid_user depuis WHERE clause au ON clause de la jointure :

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

Ce qui précède est la logique que vous voulez ici. Désormais, une jointure réussie entre les enregistrements des deux tables se produit chaque fois que le uuid les valeurs correspondent à et lorsque le uuid_user la valeur de la table vue correspond à une valeur. Notez que le uuid_user valeur pas correspond à n'importe quel enregistrement, il ne sera pas filtré, ce qui se passera avec votre requête actuelle.