Cod de eroare: 1054. Coloană necunoscută (Programare, Sql, Mysql Error 1054)

David a intrebat.
a intrebat.

Am următoarea instrucțiune SQL:

SELECT efforts.user_id, project_tasks.task_name, sum(hours) 
FROM efforts, users, project_tasks
INNER JOIN PROJECT_TASKS pu ON efforts.project_task_id = pu.id  
INNER JOIN USERS u ON efforts.users_id = u.id
WHERE project_tasks.project_id = '2'; 

Și când o execut, primesc următoarea eroare:

Error Code: 1054. Unknown column 'efforts.project_task_id' in 'on clause'

De ce primesc această eroare?

Project_task_id aparține tabelului efforts

Imagine a tabelului meu efforts

Actualizat:

SELECT u.full_name, pu.task_name, hours 
FROM efforts
INNER JOIN project_tasks pu ON efforts.project_task_id = pu.id   
INNER JOIN users u ON efforts.user_id = u.id 
GROUP BY user_id, task_name

Comentarii

  • Ai avut această coloană în tabelul eforturilor? –  > Por Haim Evgi.
  • Vă rugăm să furnizați descrierea tabelului eforturilor… –  > Por StevieG.
  • Am adăugat imaginea de mai jos pentru a arăta tabelul meu –  > Por David.
  • versiunea mea de interogare funcționează? –  > Por StevieG.
  • Mi-am editat postul cu un link către tabelul meu de eforturi –  > Por David.
2 răspunsuri
StevieG

Sintaxa ta este greșită, ar trebui să fie:

SELECT efforts.user_id, pu.task_name, sum(hours)  
FROM efforts
INNER JOIN PROJECT_TASKS pu ON efforts.project_task_id = pu.id   
INNER JOIN USERS u ON efforts.user_id = u.id 
WHERE pu.project_id = '2';  

Comentarii

  • Ultimul rând ar trebui să fie: WHERE pu.project_id = ‘2’; –  > Por Klas Lindbäck.
  • @Klas Lindbäck Am încercat acest lucru și nu a funcționat, am primit următoarea eroare Error Code: 1054. Unknown column 'project_tasks.task_name' in 'field list' –  > Por David.
  • Mulțumesc, bine, am încercat asta și acum a apărut această eroare Error Code: 1054. Unknown column 'efforts.users_id' in 'on clause'. –  > Por David.
  • Am încercat acest lucru și a funcționat, vă mulțumesc. Am extins interogarea astfel încât să arate ca mai jos. Mi-am actualizat postul –  > Por David.
Lukas Eder

Rețineți că, din câte știu eu, MySQL face distincție între majuscule și minuscule la numele tabelelor (nu și la numele coloanelor)… Acest lucru ar putea cauza unele probleme în interogarea dvs…? Împreună cu corecția lui StevieG

Comentarii

  • Sugestia ta chiar a funcționat și mi-a rezolvat bug-ul pe care mă chinui. –  > Por Sree.