Mysql

錯誤 1052 使用內部連接函式的欄位不明確

  • February 21, 2016

錯誤“1052”欄位不明確。我了解正在發生的錯誤,我查看了幾個地方進行修復,然後應用了內部連接函式來嘗試修復它。它仍然無法正常工作,並且給了我同樣的錯誤。

EventNo 是 eventrequest 表中的主鍵和 Eventplan 表中的外鍵。我正在嘗試列出事件編號、事件日期和事件計劃的計數,同時僅在事件請求具有多個相關事件計劃且工作日期為 2013 年 12 月時才在結果中包含事件請求。這是我的程式碼.

SELECT EventNo, DateAuth, COUNT(PlanNo)
FROM eventplan INNER JOIN eventrequest ON eventplan.eventNo = Eventrequest.EventNo
WHERE COUNT(PlanNo) > 1 BETWEEN '2013-12-01' AND '2013-12-31';

SELECT限定/WHERE和 join 子句中的每一列。

因此,例如,我對列進行了限定,以便從子句中的表中EventNo讀取它——它是模棱兩可的,因為它同時在表和表中。eventplan``SELECT``eventplan``eventrequest

SELECT eventplan.EventNo, DateAuth, COUNT(PlanNo)
FROM eventplan INNER JOIN eventrequest ON eventplan.eventNo = Eventrequest.EventNo
WHERE COUNT(PlanNo) > 1 BETWEEN '2013-12-01' AND '2013-12-31';

如果它們存在於兩個表中(在此特定查詢中),DateAuth您可能會做同樣的事情。PlanNo

始終完全限定列名是一種很好的做法 - 可以使查詢更易於閱讀。您也可以隨時使用表格別名來減少打字。

引用自:https://dba.stackexchange.com/questions/129965