Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL omette le righe che un utente ha già visto controllando una tabella vista

Devi spostare la restrizione su uuid_user dal WHERE clausola al ON clausola del join:

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

Quanto sopra è la logica che vuoi qui. Ora, un join riuscito tra i record delle due tabelle si verifica ogni volta che uuid i valori corrispondono a e quando il uuid_user il valore della tabella vista corrisponde a un valore. Nota che dovrebbe essere uuid_user valore non corrisponde a qualsiasi record, non verrebbe filtrato, come accadrà con la tua query corrente.