是否可以在 PostgreSQL 中使用 CTE 加入?

joe*_*ker 2 sql postgresql join common-table-expression

我正在尝试编写这样的查询

WITH a AS (SELECT key FROM table) 
SELECT * 
FROM a 
  JOIN b;
Run Code Online (Sandbox Code Playgroud)

这会在 PostgreSQL 10.4 中产生语法错误。

为什么会出现这个错误?

看起来我将创建一个视图。有更好的解决方案吗?

a_h*_*ame 7

您缺少 JOIN 条件:

WITH a AS (SELECT key FROM table) 
SELECT * 
FROM a 
  JOIN b ON a.key = b.key;
Run Code Online (Sandbox Code Playgroud)