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

Retorna apenas as linhas cujo valor máximo é menor que o especificado


Você deseja puxar a condição da junção para um having cláusula. A associação é apenas olhando os registros antes dessas datas, então você não sabe se algo acontece depois.
SELECT *
FROM tbldealermobiles
  INNER JOIN tblhistory ON tbldealermobiles.FCS = tblhistory.FCS
  INNER JOIN tblAllDealers ON tbldealermobiles.FCS = tblAllDealers.FCS
WHERE tblAllDealers.CustGroup in ('Virtual', 'Outbound')
GROUP BY tbldealermobiles.mobilenumber 
HAVING MAX(tblhistory.PurchaseDate) <
            MAX(case when tblAllDealers.CustGroup = 'Virtual' then date('2013-03-22')
                     when tblAllDealers.CustGroup = 'Outbound' then date('2013-04-21')
                end)
ORDER BY tblhistory.PurchaseDate DESC