sql >> Database teknologi >  >> RDS >> Mysql

Hver afledt tabel skal have sin egen aliasfejl

Du skal bruge et alias for underforespørgslen, og du skal anvende betingelserne enten på begge forespørgsler, som du forener:

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

eller returner data, så du kan anvende betingelsen i den ydre forespørgsel:

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


  1. SQL vælg n'te medlem af gruppen

  2. Tilslutning af IRI-software til Oracle

  3. Konverter sekunder til menneskelig læsbar varighed

  4. Loop på borde med PL/pgSQL i Postgres 9.0+