sql >> Base de Datos >  >> RDS >> Mysql

Subconsulta MySQL con variable de datos de consulta principal

¿Por qué no comenzar con una consulta previa del usuario y todas las bebidas que han ofrecido comentarios ya qué hora (no sé si tiene varios comentarios por persona para una bebida determinada o no). Luego, encuentre los comentarios de todos los demás DESPUÉS de su comentario de fecha/hora...

Esta consulta en realidad debería ser más rápida, ya que COMIENZA con solo los comentarios de bebidas de UN USUARIO como base, LUEGO regresa a la tabla de comentarios para aquellos que coinciden con la ID de la bebida y la hora límite.

SELECT STRAIGHT_JOIN
      dc.*
   from 
       ( select
               drinkID,
               max( datetime ) UserID_DrinkCommentTime
            FROM 
               drinkComments 
            WHERE
               userID = 1
            group by
               drinkID ) PreQuery
       join DrinkComments dc
         on PreQuery.DrinkID = dc.DrinkID
         and dc.datetime > PreQuery.UserID_DrinkCommentTime
   order by
      dc.DateTime desc