2016-08-01 14 views
2

私はPHPとMySQL Web Developmentという本からMySQLを勉強していますが、私は複数のテーブルからデータを照会する方法を教えています。私自身とは、次のコマンド複数のテーブルをMySQLで照会する

mysql> select customers.name from books, customers, orders, orders_items 
    -> where books.title = 'Java 2' 
    -> and books.isbn = orders_items.isbn 
    -> and orders_items.orderid = orders.orderid 
    -> and orders.customersid = customers.customerid; 

を思い付いたし、それは私に次のエラー

ERROR 1146 (42S02): Table 'books.orders_items' doesn't exist 

を返しますが、私はそれはそれだけで正常に動作ブックにあるとおりに正確にコマンドを使用しようとすると

mysql>select customers.name from customers, orders, order_items, books 
    ->where customers.customerid = orders.customerid 
    ->and orders.orderid = order_items.orderid 
    ->and order_items.isbn = books.isbn 
    ->and books.title = 'Java 2'; 

+-------------+ 
| name  | 
+-------------+ 
| Julie Smith | 
+-------------+ 

ここでは、基準の順番以外に何が欠けていますか? 私はbooks.orders_itemsどこにでも入力していません。あなたは両方ここorder_items

書籍、顧客、受注から

選択customers.name、orders_items

帳から複数orders_items単数ないを使用している

+0

あなたが関与してテーブルスキーマを表示/記述することができますか? – RamRaider

答えて

2

行内

とbooks.isbn = orders_items .isbn

+0

男の子はいない私は今かなりかわいい感じる?笑私は、エラーがテーブル内の列だったと思っていたが、データベース内のテーブル –

関連する問題