2016-12-02 111 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;