PostgreSQL: error de sintaxis al final de la entrada en la cláusula WITH RETURNING.
Estoy tratando de crear una tabla temporal con el siguiente código:
with cte_counts as
(select entity_id, entity_name, count(distinct segment_id) as countries
from cte_geography
where cte_geography.metric_id in (2, 20, 35)
group by 1, 2
order by 3 desc)
select *
from cte_counts
pero obtengo el error:
ERROR: error de sintaxis al final de la entrada Posición: 529
Lo he vuelto a escribir y no veo qué está mal. Sin with, el código funciona bien:
select entity_id, entity_name, count(distinct segment_id)
from cte_geography
where cte_geography.metric_id in (2, 20, 35)
group by 1, 2
order by 3 desc
NOTA: se realiza esto en Metabase.
davy.ai
El problema con el código es que le falta un punto y coma de cierre al final de la instrucción WITH. El código corregido debe lucir así:
Añadir el punto y coma debería resolver el error de sintaxis al final de la entrada. Este error ocurre porque el analizador SQL espera un punto y coma para indicar el final de la instrucción, pero en cambio encuentra el final del archivo.