Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL omitindo linhas que um usuário já viu ao verificar uma tabela vista


Você precisa mover a restrição em uuid_user do WHERE cláusula para o ON cláusula da junção:
SELECT * 
FROM maintable m 
LEFT JOIN seentable s 
    ON m.uuid = s.uuid AND s.uuid_user = '[user]'
WHERE s.uuid IS NULL;

O acima é a lógica que você quer aqui. Agora, uma junção bem-sucedida entre os registros das duas tabelas ocorre sempre que o uuid os valores correspondem a e quando o uuid_user valor da tabela vista corresponde a algum valor. Observe que o uuid_user deve valor não match para qualquer registro, ele não seria filtrado, que é o que acontecerá com sua consulta atual.