Casa > O > O Que Significa O Erro Sql 'Ambiguous Column Name'?

O que significa o erro SQL 'ambiguous column name'?

"Ambiguous column name" significa que você está referenciando um atributo ou atributos que pertencem a mais de uma das tabelas que você está usando na consulta, e não qualificou a referência do atributo. O motor SQL não sabe qual deles você quer.

P>Se você tiver a seguinte consulta:

Selecionar nome_do_empregado, department_id, department_name

de_empregado, department

onde employee.department_id = department.department_id;

Neste exemplo, a cláusula "WHERE" qualifica corretamente a propriedade dos atributos do department_id, mas a cláusula "SELECT" não. De que tabela vem essa coluna? O motor SQL não pode dizer.

Neste exemplo, os valores seriam os mesmos, mas o motor SQL ainda precisa de ser dito de onde vem. É ambíguo.

Um caso mais óbvio seria se houvesse um campo "name" em ambas as tabelas, e você não o qualificou. Nesse caso, "employee.name" é obviamente diferente de "department.name". Mas não é necessário que os valores sejam diferentes. A instrução SQL declara o que você está tentando selecionar, e isso significa que você tem que qualificar a instrução se ela for ambígua.

De Jaala Namsaly

Como saber se o meu PC pode funcionar com um monitor de 240 Hz :: How to display a PDF as an image in HTML