2016-10-07 5 views
0

私の目的は、セッションID、セッションがスケジュールされているブランチの郊外、ムービーの名前、画面容量、およびセッション日付の詳細を示すSQLクエリを持つことです。月SQLは4つの異なるテーブルから詳細を表示

の第三または13日に予定したセッション
SELECT DISTINCT BRANCH.BRANCHID, BRANCH.BRANCHSUBURB, MOVIENAME, SCREENCAPACITY, SESSIONDATE 
FROM SESSIONS, SCREEN, BRANCH, MOVIE 
WHERE SESSIONDATE = '3-MAY-2016' 
OR SESSIONDATE = '13-MAY-2016'; 

これだけでは、より多くのデータは、私が持っていることを表示するにはALOTがあるので、私が欲しい正確に何をしません。

テーブルの設定は以下の図のとおりです。 click here for picture

+0

を試してみては、内側を見ては、SQLでhttp://www.w3schools.com/sql/sql_join_inner.asp – KMoussa

+2

* * 'FROM'句にカンマを使用しないでくださいに参加してもらいます。 *常に*適切で明示的な 'JOIN'構文を使用します。 –

+0

皆さんのご意見ありがとうございました。私は非常に新しいので、SQLをもっと詳しく見ていきます。ゴードンの頭のおかげで、今日の病棟にあなたのアドバイスを使用します:) – Dan

答えて

1

ここでDistinctキーワードの代わりに希望の結果を得るには、内部結合を使用する必要があります。

この

SELECT b.BRANCHID, b.BRANCHSUBURB, m.MOVIENAME, sc.SCREENCAPACITY, se.SESSIONDATE 
FROM SESSIONS se INNER JOIN SCREEN sc on se.SCREENID = sc.SCREENID 
INNER JOIN BRANCH b ON b.BRANCHID = se.BRNACHID 
INNER JOIN MOVIE m ON m.MOVIEID = se.MOVIEID 
WHERE se.SESSIONDATE BETWEEN '3-MAY-2016' AND '13-MAY-2016'; 
+0

ありがとう、この1つは完全に働いた。 – Dan

+0

@ダンあなたの質問が解決された場合は、回答としてマークしてください。 –

関連する問題