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.

Uniendo en los nombres de columna con espacios.

Estoy tratando de unir dos tablas utilizando PROQ SQL. Una de las columnas que estoy utilizando para la unión tiene un espacio en el nombre de la columna. La consulta que estoy usando es la siguiente:

PROC SQL;
CREATE TABLE TEST AS
SELECT a.*, b.*
FROM TABLE_1 a
INNER JOIN TABLE_2 b
ON a.CONTNO = b."Contract Number";
RUN;

Este es el error que estoy obteniendo:

ERROR 22-322: Error de sintaxis, se esperaba uno de los siguientes: un nombre, *.

¿Cómo puedo solucionar esto?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema con la consulta es que el nombre de la columna con un espacio, “Contract Number”, debe estar encerrado entre comillas en el código SQL. Sin embargo, el símbolo ampersand (&) se utiliza para la resolución de variables macro en SAS, por lo que debe desactivarse en este caso.

    Para solucionar el error, reemplace b.”Contract Number” por b.”Contract Number” en la consulta. Debería verse así:

    PROC SQL;
    CREATE TABLE TEST AS
    SELECT a.*, b.*
    FROM TABLE_1 a
    INNER JOIN TABLE_2 b
    ON a.CONTNO = b."Contract Number";
    RUN;
    

    Con este cambio, la consulta debería ejecutarse sin errores y unir exitosamente las dos tablas utilizando la columna especificada.

Comments are closed.