我知道很多人發佈了這個消息,但他們都沒有像我這樣做的錯誤。不明確的列名錯誤
當我運行這個語句時,我得到了ERROR 1052。
mysql> SELECT module_staff.StaffName AS Staff,
SUM(modules.HoursPerWeek) AS Total_Worked
FROM module_staff, modules
WHERE ModuleCode IN (SELECT ModuleCode
FROM module_staff
WHERE StaffName ='Nigel Cosworth');
但是下面的代碼確實有效。
mysql> SELECT Title,
SUM(modules.HoursPerWeek) AS Total_Worked
FROM modules
WHERE ModuleCode IN(SELECT ModuleCode
FROM module_staff
WHERE StaffName ='Nigel Cosworth');
module_staff有ModuleCode和StaffName
和模塊只列需要的是HoursPerWeek,標題和ModuleCode
的問題是,你在WHERE子句中引用'ModuleCode',它在兩個表中存在加入。你想要哪張桌子?您需要在表格前添加列。 – Taryn 2014-12-02 14:05:42
好的,謝謝你對我的代碼進行編輯,我會在下次發帖的時候記住這一點。 – Aaron 2014-12-02 14:15:15