2017-12-13 12 views
0

クエリにいくつか問題があります。Sqlクエリ結合/場所3テーブル

は、私は現在、3つのテーブルを持っている:

BOOK 
Book_Num 
Title 
Publisher_Code 

AUTHOR 
Author_Num 
Author_Fname 
Author_Lname 

WROTE 
Book_Code 
Authour_Num 
Sequence 

私はジョン・スタインベックによって書かれた本のすべてを一覧表示し、クエリを必要とします。したがって、私はテーブルに参加する必要がありますが、私は結合で苦労し、いくつかの困難を抱えています。

これは私がこれまで持っているクエリです:

`SELECT W.BOOK_CODE, W.AUTHOR_NUM , B.TITLE, A.AUTHOR_LAST 
    FROM WROTE W 
    JOIN BOOK B ON W.BOOK_CODE = B.BOOK_CODE 
    JOIN AUTHOR A ON W.AUTHOR_NUM = A.AUTHOR_LAST 
    WHERE A.AUTHOR_LAST = "Steinbeck" 
    ORDER BY A.AUTHOR_LAST; 
` 

それが現在ちょうど空のセットを示していますが、そのフィールドが間違いです。

+0

「参加するのに苦労し、何か難しかったです」とお手伝いしません。あなたの質問に何が問題なのかを説明してください。それはあなたにエラーを与えるか?それはあなたに結果を与えませんか?それはあなたに間違った結果を与えるか?期待どおりの結果ですか?質問する方法を学びます。 https://stackoverflow.com/help/how-to-ask – Eric

+0

私の質問には回答があり、結果が欲しいと明確に述べました。 –

+0

b.book_Code ...ブックテーブル定義にそのような列はありません最初のテーブル結合のon節では 'B.Book_Num'を意味しますか?さらに、A.Author_lastは2番目の結合のON句では 'A.Author_Num 'になるはずです。 – xQbert

答えて

2

私はあなたの問題はここにあると信じて:

JOIN AUTHOR A ON W.AUTHOR_NUM = A.AUTHOR_LAST 

それはあなたがこれを取得する必要B.BOOK_NUM

を使用する必要がありますときに、B.BOOK_CODEを使用しているようにも、それが見えます

JOIN AUTHOR A ON W.AUTHOR_NUM = A.AUTHOR_NUM 

する必要がありますあなたのために:

SELECT W.BOOK_CODE, W.AUTHOR_NUM , B.TITLE, A.AUTHOR_LAST 
FROM WROTE W 
JOIN BOOK B ON W.BOOK_CODE = B.BOOK_NUM 
JOIN AUTHOR A ON W.AUTHOR_NUM = A.AUTHOR_NUM 
WHERE A.AUTHOR_LAST = "Steinbeck" 
ORDER BY A.AUTHOR_LAST; 
+0

はい、ありがとうございました –

+0

最初の結合で 'B.Book_Code'も' b.Book_num'でテーブル構造に従ってはいけませんか? – xQbert

+0

良いキャッチ。私は更新しました。 –

0

私は、問題は、この行であると思う:

あなたは著者テーブルからAuthor_Lastに書いた表からAuthor_Numに参加しているW.AUTHOR_NUM = A.AUTHOR_LAST

ON著者Aに参加します。

代わりにこれを試してみてください: W.AUTHOR_NUM = A.AUTHOR_NUM ON著者Aを登録しよう

0
SELECT W.BOOK_CODE, W.AUTHOR_NUM , B.TITLE, A.AUTHOR_LAST 
FROM WROTE W 
JOIN BOOK B ON W.BOOK_CODE = B.BOOK_CODE 
JOIN AUTHOR A ON W.AUTHOR_NUM = A.AUTHOR_LAST --its wrong 
-- it must A.Author_Num 
WHERE A.AUTHOR_LAST = "Steinbeck" 
ORDER BY A.AUTHOR_LAST 

あなた必要PK主キーとforeingキーとの関係。

+0

B.Book_Codeも存在しません。 B.Book_numでなければならないと思います。 – xQbert

関連する問題