Mysql多个内部联接不工作
我有以下查询在TSQL中运行良好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
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是一个连接表,我必须从相关表加载其他详细信息以显示感谢您的关注,您的解决方案帮助我发现了问题