2017-10-15 1 views
1

Ich habe ein TABLE und die Abfrage ich Werke schrieb fein an der Geige, aber wenn es auf dem tatsächlichen Server Implementierung, erhalte ich die folgenden FehlerVerbinden Sie mehr wählen dert

1054 - Unknown column ‚t2.EmpName‘ in ' on-Klausel‘

Fiddle mysql 5.6 ist, ich bin mit ver 15,1 MariaDB

Vielen Dank für Ihre Hilfe! Hier ist meine Frage:

select 
    table1.EmpName as "Employee", 
    table1.weekof as "Week Of", 
    t2.pph as "Previous PPH", 
    table1.pph as "Current PPH", 
    table1.quality as "Quality" 
from table1 t2 
join 
table1 on t2.EmpName = table1.EmpName 
where t2.weekof = '9/11/2017' and table1.weekof = '9/18/2017' 
+0

Es funktioniert auch auf rextester. [Look] (http://rextester.com/AZAR18277) – GurV

+1

Ich denke, Sie haben keine Spalte namens 'empName' – sagi

+0

Ich weiß nicht, warum es nicht funktioniert, aber Ihre ON-Klausel' auf t2.EmpName = table1.EmpName' hat einen Geruch. Verwenden Sie einfach 'ON t1.EmpName = t2.EmpName' und aliasieren Sie die Tabelle mit' t1' und 't2'. MySQL schluckt viel schlechten Code und läuft immer noch, aber Sie sollten sich nicht darauf verlassen. –

Antwort

0

könnte man einen Unterschied beetween den Code in sqlfiddle haben und den Code, den Sie auf dem Server verwenden ohnehin für eine bessere Lesbarkeit und für vermeiden mismacth Ich schlage vor, Sie eine klare Verwendung von der Alias ​​(expecially, wenn Sie selbst verwenden beitreten)
und Verwendung backctics Spaltennamen verwenden Angebot für nicht, wenn Sie zB benötigen:

select 
    t1.EmpName as Employee, 
    t1.weekof as `Week Of`, 
    t2.pph as `Previous PPH`, 
    t1.pph as `Current PPH`, 
    t1.quality as Quality 
    from table1 t2 
    join table1 t1 on t2.EmpName = t1.EmpName 
    where t2.weekof = '9/11/2017' and t1.weekof = '9/18/2017' 
    ; 
+0

Danke! Das hat den Trick gemacht. –

Verwandte Themen