Que causa este error?
El mejor lugar para comenzar es comprender qué causa un problema. El error se causa principalmente cuando una columna con el mismo nombre aparece en más de una tabla al realizar una unión.
Para ilustrar cómo ocurre este error, suponga que tenemos dos tablas como se muestra en las consultas a continuación:
Crear tabla my_table (Aquí tenemos dos tablas: my_table y my_table_1. Tenga en cuenta que ambas tablas tienen una columna Full_Name. Ignore la columna de identificación, ya que esta es una columna de incremento automático.
Si intentamos ejecutar una unión en las dos tablas:
Seleccione FULL_NAME, LANG, FULL_NAME, SALARY DE MY_TABLE X.ID = Y.identificación;La consulta anterior devolverá un error de "nombre de columna ambigua". Aunque el mensaje de error puede variar según el motor de la base de datos, la salida es muy similar.
Lo siguiente muestra el mismo error impreso en el motor de la base de datos PostgreSQL.
Error: la referencia de la columna "Full_name" es ambiguaHacerlo lleva a que SQL se confunda con el que Full_Name se refiere.
SQL resuelve el error de la columna ambigua
Para resolver este error, podemos agregar alias para las columnas que causan ambigüedad. Por ejemplo, podemos ejecutar la consulta como:
Seleccionar x.full_name, lang, y.full_name, salario de my_table x interior unir my_table_1 y en x.ID = Y.identificación;Aquí, agregamos alias para las columnas con x que representa my_table e y representan my_table_1.
Lo anterior debe resolver el error y permitirle realizar la unión sin cambiar los nombres de la columna.
Clausura
Este tutorial cubrió cómo resolver el error de "nombre de columna ambigua" en SQL.