[英]SQL INNER JOIN multiple tables error
SQL:
SELECT * FROM `orderregel`
INNER JOIN `klant` ON order.KlantId = klant.KlantId
INNER JOIN `product` ON orderregel.ProductId = product.ProductId
INNER JOIN `order` ON orderregel.OrderId = order.OrderId;
错误:#1064-您的SQL语法有错误; 查看与您的MySQL服务器版本相对应的手册,以获取正确的语法以在'order'附近使用。 ,orderregel。 ,产品。 ,klant。 从
orderregel
INNER JOINklant
O'在第1行
我的数据库:订单(OrderId,KlantId(FK)),orderregel(OrderregelId,OrderId(FK),ProductId(FK),KlantId(FK)),klant(KlantId,Naam,Voornaam),产品(ProductId,Naam)
我想展示每一个有自己订单的regel的product.Naam,klant.Naam
这行:
INNER JOIN `klant` ON order.KlantId = klant.KlantId
您还需要勾选MySQL保留字order
INNER JOIN `klant` ON `order`.KlantId = klant.KlantId
请注意错误从何处开始,并告诉您:
在'order附近使用正确的语法
同样的事情:
INNER JOIN `order` ON orderregel.OrderId = order.OrderId;
至
INNER JOIN `order` ON orderregel.OrderId = `order`.OrderId;
改写:
SELECT * FROM `orderregel`
INNER JOIN `klant` ON `order`.KlantId = klant.KlantId
INNER JOIN `product` ON orderregel.ProductId = product.ProductId
INNER JOIN `order` ON orderregel.OrderId = `order`.OrderId;
编辑:按照OP的注释,但在MySQL order
保留字周围打勾。
SELECT * FROM orderregel
INNER JOIN klant ON orderregel.KlantId = klant.KlantId
INNER JOIN product ON orderregel.ProductId = product.ProductId
INNER JOIN `order` ON orderregel.OrderId = `order`.OrderId;
内部连接语句的快速重新排序可能会有所帮助(未经测试)
SELECT * FROM `orderregel`
INNER JOIN `klant` ON orderregel.KlantId = klant.KlantId
INNER JOIN `product` ON orderregel.ProductId = product.ProductId
INNER JOIN `order` ON order.OrderId = order.OrderId;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.