2016-12-02 113 views
-1

我是MySql中的新成員,我試圖從4個表中連接多個列,其中兩個表(訂單和產品)通過第三個表即訂單線鏈接。 這是我認爲不正確的查詢。如何加入多個表,其中兩個表基於第三個表

Select orders.OrderDate, orders.OrderID, orders.OrderStatus, customer.FirstName, customer.LastName, product.ProductName , product.Qunatity, branch.BranchName 
from orders 
inner join customer ON orders.CustomerId = customer.CustomerId 
inner join orderline ON orderline.OrderId = orders.OrderID 
inner join branch on orders.BranchID = branch.BranchID 
inner join orderline.ProductId = product.ProductId; 

但我得到的錯誤,其中1054,unkwon列「product.ProductName」在「字段列表」 誰能告訴我該怎麼this.Thanks

+0

您沒有加入產品表,並獲取產品數據表這就是爲什麼越來越未知列錯誤......檢查查詢最後一個加入....內部聯接產品。rderline.ProductId = product.ProductId ; –

回答

1

正確的方式看起來像在一個錯字最後加入。這是你的意思嗎?

SELECT orders.OrderDate, orders.OrderID, orders.OrderStatus, customer.FirstName, customer.LastName, product.ProductName , product.Quantity, branch.BranchName 
FROM orders 
INNER JOIN customer ON orders.CustomerId = customer.CustomerId 
INNER JOIN orderline ON orderline.OrderId = orders.OrderID 
INNER JOIN branch ON orders.BranchID = branch.BranchID 
INNER JOIN product ON orderline.ProductId = product.ProductId;