2017-05-30 31 views
0

我想將一個查詢中的3個表與MySQL結合起來。但是,我收到一個錯誤,說列名是不明確的。在sql查詢中合併3個表 - 錯誤列名不明確

gndsale.AMOUNT是另一張名爲gndsale的表中的一列,單詞AMOUNT來自gndtndr。

錯誤:在字段列表的列 '量' 不明確

這裏是我的代碼:

SELECT g.ID 
    , concat(emp.FIRSTNAME, ' ', emp.LASTNAME) Fullname 
    , FORMAT(ROUND(SUM(s.AMOUNT), 2),0) as DECLARED 
    , FORMAT(ROUND(SUM(amount), 2),0) as CALCULATED 
    , `DATE` 
    , `CHECK` 
    FROM gndtndr g 
    JOIN emp 
    ON emp.ID = g.ID 
    JOIN gndsale s 
    on g.ID= S.ID 
group 
    by EMPLOYEE 
+2

您應該可以在全名前面加上模糊的前綴。 Gntndr.amount並且應該消除它的歧義。 – Doon

+0

它的工作:D 瞭解有關加盟表截至目前嘿嘿:) –

+0

只是消除了歧義 – Strawberry

回答

1

爲什麼不`噸您使用ROUND(SUM(gndtndr.AMOUNT),2),0 )

+0

哇!修復它!感謝:D 我認爲它會讀它,如果它只有圓(SUM(AMOUNT),2),0)....但哇它的工作:D –

+1

它可以與金額AMOUNT,如果你不需要兩個金額來自gndtndr和gndsale。 Mysql有點困惑,因爲在一個地方,你告訴他gndtndr.AMOUNT,另一個地方是AMOUNT。它不知道使用哪個數量,而是模糊的錯誤。所以只是總是使用列名infront的列名,這是一個很好的做法:) –

+0

好吧:)我會記住這一點。 :) –