Mysql
 sql >> Base de données >  >> RDS >> Mysql

Référencer une requête externe dans une sous-requête

Vous pouvez faire quelque chose comme ceci avec une jointure :

select * from table a
    inner join (
       select id,
              max(
                  if(`date` <= __LOWERLIMIT__ ,`date`, 0)
              ) as min_date,              
              min(
                 if(`date` >= __UPPERLIMIT__ , `date`, UNIX_TIMESTAMP())
              ) as max_date
           from table
           where id = __ID__
           group by id
    ) range on
    range.id = a.id and
    a.`date` between min_date and max_date;

Je ne suis pas un expert de MySQL, donc je m'excuse si un peu de modification de la syntaxe est nécessaire.

Mise à jour : l'OP a également trouvé cette très belle solution .