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

Cada tabela derivada deve ter seu próprio erro de alias


Você precisa de um alias para a subconsulta e precisa aplicar as condições às duas consultas que você unir:
SELECT MAX(DateTime)
FROM (

  SELECT DateTime
  FROM Class_Searches
  WHERE User_Email = '[email protected]'
  AND DateTime > NOW( ) - INTERVAL 30 DAY

  UNION ALL

  SELECT DateTime
  FROM Book_Searches
  WHERE User_Email = '[email protected]'
  AND DateTime > NOW( ) - INTERVAL 30 DAY

) AS x

ou retornar dados para que você possa aplicar a condição na consulta externa:
SELECT MAX(DateTime)
FROM (

  SELECT DateTime, User_Email
  FROM Class_Searches

  UNION ALL

  SELECT DateTime, User_Email
  FROM Book_Searches

) AS x
WHERE User_Email = '[email protected]'
AND DateTime > NOW( ) - INTERVAL 30 DAY