sql >> Databasteknik >  >> RDS >> Mysql

mysql select and where över flera tabeller (mycket knepigt)

Jag tror att du behöver något i de här allmänna linjerna. Jag har gjort det lite annorlunda än din fråga. Istället för att få topp 10 och sedan ta bort rekord. Den får de 10 bästa rekorden som inte skulle döljas.

SELECT c.ID, c.fromuserid, c.roomid, c.text, u.nickname
FROM chats c
JOIN user u ON c.fromuserid = u.id
where c.roomid = 3 AND user.banned = 0
AND NOT EXISTS(
              SELECT * FROM hide h 
              WHERE h.hideuser = c.fromuserid
              AND orguser = $userid) 
ORDER BY c.ID DESC
LIMIT 0,10


  1. Är hexing-ingång tillräcklig för att rensa SQL-frågor?

  2. Skapa en CHECK-begränsning i SQLite

  3. Går med och tar bort kartesiska produkter

  4. Docker Compose + Postgres:Exponera port