Nombre de columna ambigua con consulta de unión SQL

Nombre de columna ambigua con consulta de unión SQL
Un error común al realizar SQL se une es el error de "Nombre de la columna ambigua". Este tipo de error ocurre cuando intenta unirse en dos o más tablas y más de una columna del mismo nombre aparece en más de una de las tablas. Este breve artículo discutirá cómo resolver este error al realizar SQL se une.

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 (
ID int Auto increment Clave primaria,
Full_name Varchar (255),
Lang Varchar (100)
);
Crear tabla my_table_1 (
ID int Auto incremento,
Full_name Varchar (255),
dinero salarial
);

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 ambigua

Hacerlo 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.