Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Subconsulta MYSQL SELECT na cláusula JOIN


É difícil dizer sem ver o DDL de suas tabelas, dados de amostra relevantes e saída desejada.

Eu poderia ter entendido seus requisitos errados, mas tente isto:
SELECT *  
  FROM forum_cat c LEFT JOIN 
       (SELECT t.cat_id, 
               p.topic_id, 
               t.title, 
               p.id, 
               p.body, 
               MAX(p.`date`) AS `date`, 
               p.author_id, 
               u.username
          FROM forum_post p INNER JOIN
               forum_topic t ON t.id = p.topic_id INNER JOIN
               `user` u ON u.user_id = p.author_id
         GROUP BY t.cat_id) d ON d.cat_id = c.id
 WHERE c.main_cat = 1
 ORDER BY c.list_no