Cosa significa l'errore SQL 'nome colonna ambiguo'?
"Nome colonna ambiguo" significa che state facendo riferimento a uno o più attributi che appartengono a più di una delle tabelle che state usando nella query, e non avete qualificato il riferimento all'attributo. Il motore SQL non sa quale volete.
Supponiamo che abbiate la seguente query:
Seleziona employee_name, department_id, department_name
from employee, department
where employee.department_id = department.department_id;
In questo esempio, la clausola "WHERE" qualifica correttamente la proprietà degli attributi department_id, ma la "SELECT" no. Da quale tabella proviene quella colonna? Il motore SQL non può dirlo.
In questo esempio, i valori sarebbero gli stessi, ma il motore SQL ha ancora bisogno di sapere da dove viene. È ambiguo.
Un caso più ovvio sarebbe se ci fosse un campo "nome" in entrambe le tabelle, e tu non lo qualificassi. In quel caso, "employee.name" è ovviamente diverso da "department.name". Ma non è necessario che i valori siano diversi. L'istruzione SQL dichiara ciò che stai cercando di selezionare, e questo significa che devi qualificare l'istruzione se è ambigua.
Articoli simili
- Come selezionare una colonna in Excel, non l'intera colonna, ma solo i dati
- Come deve apparire il nome di una persona sui certificati in una qualifica accademica o professionale, nome completo o nome con iniziali?
- Da dove ha preso il nome Airbnb? Cosa significa il nome?
- Cosa significa 'Errore: Può solo concatenare str (non "int") a str' significa in Python?