Псевдоним - это когда вы переименовываете что-то, например SELECT t.time from table t
, t
- это псевдоним для этой таблицы.В этом случае вам нужно присвоить псевдоним таблицам, сгенерированным подзапросами:
SELECT MAX( ut.DateTime )
FROM (
(
SELECT DateTime
FROM Class_Searches
) cs
UNION ALL (
SELECT DateTime
FROM Book_Searches
) bs
) ut
WHERE User_Email = 'bla@blah.com'
AND ut.DateTime > NOW( ) - INTERVAL 30 DAY
Это все равно не будет работать, поскольку у вас нет столбца User_Email, возвращенного из UNION.Таким образом, попробуйте:
SELECT MAX( ut.DateTime )
FROM (
(
SELECT DateTime, User_Email
FROM Class_Searches
) cs
UNION ALL (
SELECT DateTime, User_Email
FROM Book_Searches
) bs
) ut
WHERE ut.User_Email = 'bla@blah.com'
AND ut.DateTime > NOW( ) - INTERVAL 30 DAY
Возможно, что это все еще не будет работать правильно из-за синтаксиса UNION, но по крайней мере это намного ближе.