On Fri, Oct 26, 2018 at 10:55:57AM +0000, PG Bug reporting form wrote:
> CTEs don't play nicely together with 'WITH ORDINALITY':
Sure they do.
> This is working:
> SELECT * FROM generate_series(4,1,-1) WITH ORDINALITY;
> WITH a AS (SELECT * FROM generate_series(4,1,-1) )
> SELECT * FROM a;
>
> whereas this yields syntax error (42601)
>
> WITH a AS (SELECT * FROM generate_series(4,1,-1) )
> SELECT * FROM a WITH ORDINALITY;
This is because "with ORDINALITY" is for function call, not for any
table query.
So the correct syntax would be:
WITH a AS (SELECT * FROM generate_series(4,1,-1) WITH ORDINALITY) SELECT * FROM a;
depesz