Could someone please explain this SQL to me, I'm trying to edit code but I don't understand this.
This is the whole sql:
SELECT SQL_CACHE COUNT(c.conversation_id) AS num_messages
FROM table1 AS c
INNER JOIN (
SELECT message_id,conversation_id FROM table2
WHERE recipient_id=:userid ORDER BY created DESC
) AS m ON(m.conversation_id=c.conversation_id)
WHERE (c.initiator_id=:userid OR c.interlocutor_id=:userid)
AND (c.bm_read & IF(c.initiator_id=:userid, :bminit, :bminter)) = 0
AND (c.bm_deleted & IF(c.initiator_id=:userid, :bminit, :bminter)) = 0
GROUP BY c.conversation_id
I don't understand this part:
INNER JOIN (
SELECT message_id,conversation_id FROM table2
WHERE recipient_id=:userid ORDER BY created DESC
) AS m ON(m.conversation_id=c.conversation_id)
WHERE (c.initiator_id=:userid OR c.interlocutor_id=:userid)
AND (c.bm_read & IF(c.initiator_id=:userid, :bminit, :bminter)) = 0
AND (c.bm_deleted & IF(c.initiator_id=:userid, :bminit, :bminter)) = 0