Mysql多个内部联接不工作

Mysql多个内部联接不工作,mysql,phpmyadmin,Mysql,Phpmyadmin,我有以下查询在TSQL中运行良好 SELECT shoppingcart_1.price, shoppingcart_1.stid, course.isbn, book.BookTitle, course.Course_ID, schedule.stid AS Expr1 FROM book INNER JOIN shoppingcart AS shoppingcart_1 INNER JOIN schedule ON

我有以下查询在TSQL中运行良好

SELECT     
    shoppingcart_1.price, shoppingcart_1.stid, course.isbn, 
    book.BookTitle, course.Course_ID, schedule.stid AS Expr1
FROM         
    book 
INNER JOIN 
    shoppingcart AS shoppingcart_1 
INNER JOIN 
    schedule ON shoppingcart_1.cid = schedule.course_ID 
INNER JOIN 
    course ON schedule.course_ID = course.Course_ID 
    ON book.isbn = course.isbn
WHERE     
    (shoppingcart_1.stid = '20070004')
但当我在Mysql中运行它时,它会在线显示错误

INNER JOIN course ON schedule.course_ID = course.Course_ID ON book.isbn = course.isbn
错误文本为

1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法 book.isbn=course.isbn WHERE(shoppingcart_1.stid= 第6行的“20070004”)限值0


我是第一次在mysql中写查询,请帮助

看起来你的连接有点混乱。我试着把它清理干净。看看这对你有用吗

SELECT shoppingcart_1.price, shoppingcart_1.stid, course.isbn, book.BookTitle, course.Course_ID, schedule.stid AS Expr1
FROM book 
INNER JOIN course ON book.isbn = course.isbn
INNER JOIN schedule ON course.Course_ID = schedule.course_ID  
INNER JOIN shoppingcart AS shoppingcart_1 ON schedule.course_ID = shoppingcart_1.cid
WHERE shoppingcart_1.stid = '20070004'

请注意我是如何将book加入到课程中,然后将课程加入到schedule中,然后将schedule加入到shoppingcart中的。然后使用WHERE子句指定其他条件。

您在上缺少了加入
shoppingcart
。我想知道,您是否试图找出问题所在?我看过很多次,在阅读您的评论后,我再次将此查询与sql server查询进行了比较。但是它完全可以在sql Server上运行谢谢@Shreder,您建议的查询可以在没有eror的情况下运行。但它也从Shoppingcart表中获取其他记录,不仅仅是针对“20070004”。请帮助我如何修复它?我刚刚注意到我在where子句中复制了一个连接。很抱歉,请查看此编辑的工作方式。这将返回相同的结果。Shoppingcart是一个连接表,我必须从相关表加载其他详细信息以显示感谢您的关注,您的解决方案帮助我发现了问题