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

MySQL udelader rækker, som en bruger allerede har set ved at kontrollere en set tabel

Du skal flytte begrænsningen til uuid_user fra WHERE klausul til ON klausul i joinforbindelsen:

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

Ovenstående er den logik, du ønsker her. Nu sker en vellykket joinforbindelse mellem poster fra de to tabeller, hver gang uuid værdier matcher og når uuid_user værdien fra den sete tabel matcher en eller anden værdi. Bemærk, at uuid_user skal bruge værdi ikke match for enhver post, vil den ikke blive filtreret fra, hvilket er, hvad der vil ske med din aktuelle forespørgsel.




  1. MySQL - Skal jeg bruge primære nøgler med flere kolonner på alle underordnede tabeller?

  2. MySQL - Betydning af PRIMÆR NØGLE, UNIK NØGLE og NØGLE, når de bruges sammen under oprettelse af en tabel

  3. Beskæftiger sig med tidszoner i PHP og MySQL

  4. IN vs ENHVER operatør i PostgreSQL