MySQL - Как добавить синтаксис псевдонима в подзапрос - PullRequest
4 голосов
/ 28 января 2011

Я новичок в MySQL и все еще имею проблемы с его синтаксисом. У меня есть этот запрос:

SELECT a, b, c, d, e
FROM table1
WHERE status = 'skipped' 
AND batchid IN (SELECT batchid 
                FROM (SELECT distinct batchid, date_format(uploaddate, '%Y-%m-%d') 
                      FROM table1 
                      WHERE uploaddate > '2011-01-26') AS t
               ) AS t;

, который дает мне эту ошибку:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as t' at line 1

Предложение IN работает:

SELECT batchid 
FROM (SELECT distinct batchid, date_format(uploaddate, '%Y-%m-%d') 
      FROM table1 
      WHERE uploaddate > '2011-01-26') AS t

Я думаю, что моя проблема как-то связана с псевдонимом второй таблицы. Может кто-нибудь показать мне, что я делаю не так?

1 Ответ

4 голосов
/ 28 января 2011

Вам не нужен псевдоним для подзапросов, появляющихся в предложении WHERE.

Не указывайте окончательный вариант AS t (непосредственно перед точкой с запятой), и все должно быть хорошо.

...