SQL - AS - таблица не существует - 1146 - PullRequest
1 голос
/ 10 марта 2011

Мой запрос:

SELECT temp.pid FROM 
(SELECT postid, date FROM swapping AS s, post AS p 
WHERE s.mid='2' AND p.postid=s.postid)  AS temp 
WHERE temp.date = (SELECT MAX(date) FROM temp)

Я получаю # 1146 - Таблица 'databasename.temp' не существует

Как я могу заставить ее работать?Спасибо.

Ответы [ 3 ]

4 голосов
/ 10 марта 2011

Похоже, вы хотите выбрать последний "pid" в терминах "date", где s.mid = '2'

Попробуйте это (после того, как вы выясните, откуда взялся pid и исправьте первую строку)

SELECT [s? or maybe p?].pid
FROM swapping s INNER JOIN post p ON p.postid=s.postid
WHERE s.mid = '2'
ORDER BY date DESC
LIMIT(0,1)

Возможно, вам также понадобится наложить псевдоним столбца даты в строке заказа.

1 голос
/ 10 марта 2011

Я думаю, у вас неверная колонка ...

SELECT temp.pid  FROM  ( SELECT  postid, ...

должно быть

SELECT temp.postid  FROM  ( SELECT  postid, ...
0 голосов
/ 10 марта 2011

@ DRapp по крайней мере ударил ногтем по голове.Вы не выбрали 'pid' (если этот столбец существует либо в таблице подкачки, либо в таблице публикаций) в вашем подвыборке, который вы называете temp, так что это вызовет там какой-то тип ошибки.

...