es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , ,

Answer

  1. Avatar for 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í:

    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
    

    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.

Comments are closed.