Sql ORA-00936:缺少“=”的表达式

Sql ORA-00936:缺少“=”的表达式,sql,oracle,syntax-error,ora-00936,Sql,Oracle,Syntax Error,Ora 00936,我被要求为我的D.A.D课程做一个特别的问题如下: •编写执行以下操作的SQL语句: •显示StuId、电影编号、标题、运行时、评级代码、评级简短描述、tmdb评分 符合以下任一标准的电影: 额定代码为M加上运行时间在160-165(含160-165)之间 评级代码为G加上运行时间小于90 PG的评级代码加上运行时间120或121 额定代码MA加上运行时间185分钟或以上 •查询还必须仅包括tmdb_得分超过6.1的电影。 •列表必须是无顺序的 作为回应,我写了以下内容: SELECT '103

我被要求为我的D.A.D课程做一个特别的问题如下:

•编写执行以下操作的SQL语句: •显示StuId、电影编号、标题、运行时、评级代码、评级简短描述、tmdb评分 符合以下任一标准的电影: 额定代码为M加上运行时间在160-165(含160-165)之间 评级代码为G加上运行时间小于90 PG的评级代码加上运行时间120或121 额定代码MA加上运行时间185分钟或以上 •查询还必须仅包括tmdb_得分超过6.1的电影。 •列表必须是无顺序的

作为回应,我写了以下内容:

SELECT '103040698' as StudID, M.MovieNo, M.Title, M.RunTime, M.RatingCode, M.TMDB_Score, R.SHORTDESC, C.COLOURNAME
FROM Movie0698 M
INNER JOIN RATING0698 R
ON M.RatingCode = R.RatingCode
INNER JOIN COLOURTYPE0698 C
ON M.COLOURCODE = C.COLOURCODE
WHERE (M.RatingCode = 'M' AND M.RunTime BETWEEN 160 AND 165 AND M.TMDB_Score > 6.1) 
OR (M.RatingCode = 'G' AND M.RunTime = < 90 AND M.TMDB_Score > 6.1) 
OR (M.RatingCode = 'PG' AND M.RunTime BETWEEN 120 AND 121 AND M.TMDB_Score > 6.1)
OR M.RatingCode = 'MA' AND M.RunTime BETWEEN >=185 AND M.TMDB_Score > 6.1)
ORDER BY M.MovieNo ASC;
但是,错误消息

'OR (M.RatingCode = 'G' AND M.RunTime = < 90 AND M.TMDB_Score > 6.1) 
                 
Error at line 8:
ORA-00936: missing expression' 

不断地上来。在线程序SQLjunior指出,“=”是第8行中的问题。我不确定哪里出了问题,因为我一直在通过导师的建议对问题的其余部分使用相同的格式,这些查询运行良好。

小于或等于运算符为=。也就是说,在M.RunTime的条件下,您应该有M.RunTime您有三个输入错误:

或者M.RatingCode='G'和M.RunTime=<90和M.TMDB_得分>6.1 平均值=6.1 您需要删除中间的

以及:

或者M.RatingCode='MA'和M.RunTime介于>=185和M.TMDB_得分>6.1之间
错过了OR之后的开场白。

很抱歉,我现在应该校对我的查询了。我的错误在第10行:ORA-00933:SQL命令没有正确结束,但我右边有一个订单after@VasTheo似乎在最后一个之后或在where clauseM.RunTime=<90应该是M.RunTime@DmitryBychenko时缺少了一个通常有助于很好地格式化SQL;在这种情况下,OP包含了错误消息,其中的行号对应于代码中的一行,通过更改格式,您将使行号和实际代码之间的链接无效。我已回滚您的编辑以保持行号有效。