1

私のクエリは次のとおりです。

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' が存在しません

どうすればそれを機能させることができますか?ありがとうございました。

4

3 に答える 3

4

「日付」に関して、最後の「pid」を選択したいようです。ここで、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)

また、order by line の日付列に別名を付ける必要がある場合もあります。

于 2011-03-10T18:22:58.713 に答える
1

あなたのコラムは間違っていると思います...

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

する必要があります

SELECT temp.postid  FROM  ( SELECT  postid, ...
于 2011-03-10T18:19:42.507 に答える
0

@DRapp は、少なくとも頭に釘を打ちました。サブ選択で「pid」を選択していないため (その列がスワッピング テーブルまたはポスト テーブルに存在する場合)、temp として参照しているため、何らかのエラーがスローされます。

于 2011-03-10T18:22:31.000 に答える