WITH语句在Postgresql中不起作用

时间:2011-02-18 09:11:22

标签: sql postgresql

我有以下SQL查询,我在PgAdmin中运行:

WITH TABLE1 AS
( SELECT int1, int2, int3 FROM atbl
)
SELECT int1, <complex computation involving a large number of values of int2 and int3 from TABLE1>
FROM TABLE1

运行它的结果是一条错误消息:

ERROR:  syntax error at or near "WITH"
LINE 1: WITH TABLE1 AS

为什么会这样? with语句应该可用于PostgreSQL:

http://www.postgresql.org/docs/8.4/static/queries-with.html

据了解,此版本低于8.4。是否有使用WITH来获得相同结果的替代方法?

3 个答案:

答案 0 :(得分:1)

我发现thisthis很有帮助。并确保您使用版本&gt; = 8.4,因为这是引入它。没有;不应该是一个问题。

你的语法看起来不错......这绝对有效。

WITH table1 AS (
SELECT * FROM atbl
)
select * from table1

所以我会检查你正在运行的版本。因为这会给你正在经历的错误。

答案 1 :(得分:0)

您可以使用以下内容替换它:

SELECT int1, 
       (complex computation involving a large number of values of int2 and int3 from TABLE1)
FROM ( 
   SELECT int1, int2, int3 
   FROM atbl
) table1

答案 2 :(得分:0)

简单的SQL出了什么问题?

SELECT 
  int1, 
  <complex computation involving a large number of values of int2 and int3 from atbl>
FROM 
  atbl;