我有以下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来获得相同结果的替代方法?
答案 0 :(得分:1)
我发现this和this很有帮助。并确保您使用版本&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;