-1

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 サーバーのバージョンに対応するマニュアルで、6 行目の 'ON book.isbn = course.isbn WHERE (shoppingcart_1.stid = '20070004') LIMIT 0' 付近で使用する正しい構文を確認してください。

初めてmysqlでクエリを書いています。助けてください

4

1 に答える 1

1

結合が少し混同されているようです。掃除してみました。これがうまくいくかどうかを確認してください

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'

本をコースに、次にコースをスケジュールに、次にショッピングカートにスケジュールする方法に注意してください。次に、WHERE 句を使用して他の条件を指定します。

于 2012-12-17T17:45:09.973 に答える