我的目标是有一个SQL查询,显示会话ID的详细信息,会话安排的分支的郊区,电影的名称,屏幕容量和会话日期。只安排在5月3日或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';
这并不能完全符合我的要求,因为我显示的数据还有很多。
表格设置如下图所示。 click here for picture
答案 0 :(得分: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';