Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql select und where über mehrere Tabellen (sehr schwierig)

Ich denke, Sie brauchen etwas in dieser allgemeinen Richtung. Ich habe es etwas anders gemacht als deine Frage. Anstatt die Top 10 zu erhalten, werden dann Datensätze entfernt. Es bekommt die Top 10 Datensätze, die nicht versteckt werden würden.

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