11

SelectPostgresql でステートメントを結合したいのですが、問題があります。

SELECT 
    s.sessionid, sp.lang 
FROM 
    sessions s
INNER JOIN 
    pages sp 
ON 
    sp.sessionid =  s.sessionid 
INNER JOIN
(
    SELECT 
        max(sessionid)
    FROM 
        sessions
    AS 
        maxSession
)
ON 
    maxSession = s.sessionid
WHERE 
    --Where condition

次のエラーが表示されます: エラー: FROM のサブクエリにはエイリアスが必要です

LINE 6: (
        ^
HINT:  For example, FROM (SELECT ...) [AS] foo.

を追加するとFROM

FROM
(
    SELECT max(sessionid)
    FROM sessions
)
AS maxSession

別のエラーが表示されます

ERROR:  syntax error at or near "FROM"
LINE 7:  FROM

アイデア?

4

1 に答える 1

14

あなたは近くにいます。

  INNER JOIN
 (
  SELECT 
    max(sessionid) as 'maxSession'
   FROM 
   sessions        
) maxSession
ON 
maxSession.maxSession = s.sessionid

クエリをテーブルとして参照するときはいつでも、エイリアスを指定する必要があります...エイリアスは、サブクエリ自体ではなく、サブクエリ全体の直後に配置されます。

于 2013-09-23T21:51:58.137 に答える