SQL显示来自4个不同表

时间:2016-10-07 00:33:22

标签: sql sql-server

我的目标是有一个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

1 个答案:

答案 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';