sql >> Base de Datos >  >> RDS >> Sqlserver

Error de nombre de columna ambiguo

Porque ARTIFACTTYPE puede hacer referencia a A.ARTIFACTTYPE o B.ARTIFACTTYPE y el servidor necesita saber cuál quieres, simplemente cámbialo a A.ARTIFACTTYPE y deberías estar bien en este caso.

Para aclarar, debe especificar el prefijo del alias cada vez que el nombre de la columna sea ambiguo. No es una mala práctica usar siempre prefijos de alias, ya que deja en claro qué columnas provienen de qué tablas cuando lee la consulta y elimina problemas como este.

Uno podría preguntarse por qué necesita distinguir cuál de las dos columnas desea cuando ambas se refieren a la misma columna en la misma tabla. La respuesta es que cuando une una tabla a sí misma, los valores de A.column y B.column pueden ser diferentes según los criterios de combinación (como puede ser el caso de una combinación externa donde los valores en una de las columnas pueden ser diferentes). nulo).