0
我使用的MySQL数据库版本5.6.17
,我有以下各表
SELECT语句JOIN语句在MySQL
- 用户
- ID
- 用户名
- 系列
- imdbID
- 插曲
- imdbID
- 赛季
- 插曲
- imdbVotes
- seriesID
- 型
- marktype
- ID
- 类型
- 测试又名(serieswatchlist)
- ID
- 的userid
- EPID
- markid
请注意:不是我删除了大部分的列的每个表中减少的问题长度
我设法提取如下数据(所有用户数据,所有插曲的数据,全系列数据)使用下面的SQL代码
SELECT e.*, u.username, s.*
FROM test w
INNER JOIN users u
ON u.ID = w.userid
INNER JOIN episode e
ON w.epid = e.imdbID
INNER JOIN series s
ON e.seriesID = s.imdbID
WHERE e.seriesID IN (SELECT (imdbID) FROM series)
AND w.userid = 1
,但我想要做的
我想每个系列来获取SQL语句的结果另一个操作是最大的季节号和贝罗最大集数以及使用SQL语句的该系列的该季节。
到目前为止,每次我尝试在前面的代码之前编写任何代码时,它总是会给我一个错误,除语法错误外没有任何解释。
更新1: 尝试GROUP BY围绕我的代码,但它导致错误
“每个派生的表必须有它自己的别名”
这里是修改后的代码
SELECT MAX(e.season) FROM
(SELECT e.seriesID, u.username, e.imdbID AS "episodeID"
FROM test w
INNER JOIN users u
ON u.ID = w.userid
INNER JOIN episode e
ON w.epid = e.imdbID
INNER JOIN series s
ON e.seriesID = s.imdbID
WHERE e.seriesID IN (SELECT (imdbID) FROM series)
AND w.userid = 1)
GROUP BY seriesID
更新2: 改变了代码以修复错误以下
SELECT MAX(x.season), max(x.episode) FROM
(SELECT e.seriesID, u.username, e.imdbID AS "episodeID", e.season, e.episode
FROM test w
INNER JOIN users u
ON u.ID = w.userid
INNER JOIN episode e
ON w.epid = e.imdbID
INNER JOIN series s
ON e.seriesID = s.imdbID
WHERE e.seriesID IN (SELECT (imdbID) FROM series)
AND w.userid = 1) as x
GROUP BY x.seriesID
它的工作没有任何问题
参与者?什么?这是如何运作的? – Strawberry
最小化问题。例如,有许多不重要的列可以从问题中删除。 – jarlh
@Strawberry仍然在研究那个功能,但它的价值是文本例如(john doe,my x,miss y) – hamada147