Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何选择最多两列的位置_Mysql_Sql_Inner Join_Where - Fatal编程技术网

Mysql 如何选择最多两列的位置

Mysql 如何选择最多两列的位置,mysql,sql,inner-join,where,Mysql,Sql,Inner Join,Where,我创建了一个视图,以便继续使用它,而不必每次视图调用“Data”时都编写这部分代码 第一条SQL语句将为特定用户获取每个系列的最大季节 SELECT s_imdbID, MAX(ep_season) FROM Data WHERE u_ID = 1 GROUP BY s_imdbID SELECT s_imdbID, ep_season, MAX(ep_episode) FROM Data WHERE ep_season = ( SELECT MAX(ep_season)

我创建了一个视图,以便继续使用它,而不必每次视图调用“Data”时都编写这部分代码
第一条SQL语句将为特定用户获取每个系列的最大季节

SELECT s_imdbID, MAX(ep_season) FROM Data 
WHERE u_ID = 1 
GROUP BY s_imdbID
SELECT s_imdbID, ep_season, MAX(ep_episode) FROM Data
WHERE ep_season = (
         SELECT MAX(ep_season) 
         FROM Data 
         WHERE u_ID = 1 
           AND s_imdbID = "tt4158110"
    ) 
  AND s_imdbID = "tt4158110" 
  AND u_ID = 1;
第二条SQL语句将为特定用户获取最新一季的最新剧集

SELECT s_imdbID, MAX(ep_season) FROM Data 
WHERE u_ID = 1 
GROUP BY s_imdbID
SELECT s_imdbID, ep_season, MAX(ep_episode) FROM Data
WHERE ep_season = (
         SELECT MAX(ep_season) 
         FROM Data 
         WHERE u_ID = 1 
           AND s_imdbID = "tt4158110"
    ) 
  AND s_imdbID = "tt4158110" 
  AND u_ID = 1;
如何将它们集成到一个SQL语句中以获得以下内容

seriesID   | Max_Season        | Max_Episode 
-----------| ------------------| ----------- 
Value....  | Value............ |   Value     
这是查看代码在代码中,您将能够知道将从中检索的数据类型

SELECT 
    -- episode data
    e.title AS "ep_title", 
    e.year AS "ep_year", 
    e.rated AS "ep_rated", 
    e.released AS "ep_released", 
    e.season AS "ep_season", 
    e.episode AS "ep_episode", 
    e.runtime AS "ep_runtime", 
    e.genre AS "ep_genre", 
    e.director AS "ep_director", 
    e.writer AS "ep_writer", 
    e.actors AS "ep_actors", 
    e.plot AS "ep_plot", 
    e.language AS "ep_language", 
    e.country AS "ep_country", 
    e.awards AS "ep_awards", 
    e.poster AS "ep_poster", 
    e.metascore AS "ep_metascore", 
    e.imdbRating AS "ep_imdbRating", 
    e.imdbVotes AS "ep_imdbVotes", 
    e.imdbID AS "ep_imdbID",
    -- series data
    s.title AS "s_title", 
    s.year AS "s_year", 
    s.rated AS "s_rated", 
    s.released AS "s_released", 
    s.runtime AS "s_runtime", 
    s.genre AS "s_genre", 
    s.director AS "s_director", 
    s.writer AS "s_writer", 
    s.actors AS "s_actors", 
    s.plot AS "s_plot", 
    s.language AS "s_language", 
    s.country AS "s_country", 
    s.awards AS "s_awards", 
    s.poster AS "s_poster", 
    s.metascore AS "s_metascore", 
    s.imdbRating AS "s_imdbRating", 
    s.imdbVotes AS "s_imdbVotes", 
    s.imdbID AS "s_imdbID", 
    -- user data
    u.ID AS "u_ID"/*, */
    /* 
    u.username AS "u_username", 
    u.firstname AS "u_firstname", 
    u.lastname AS "u_lastname", 
    u.password AS "u_password", 
    u.email AS "u_email", 
    u.emailVerificationCode AS "u_emailVerificationCode", 
    u.location AS "u_location", 
    u.accesslevel AS "u_accesslevel", 
    u.disabled AS "u_disabled", 
    u.active AS "u_active"
    */
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);
编辑1:
这是一个系列的观察列表,视图数据来自一个表,在该表中,我用它所观察的事件保存每个用户

通过该视图,我获得了插曲、系列、用户的数据

您可以尝试使用
NOT EXISTS()

第一个确保没有新的一季,第二个确保没有新的一集