Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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
Sql (三);MOD无效标识符_Sql_Oracle - Fatal编程技术网

Sql (三);MOD无效标识符

Sql (三);MOD无效标识符,sql,oracle,Sql,Oracle,我正在做一个作业,试图弄清楚我的语句给了我什么ORA-00904:“SUBLOC”:无效标识符错误。我不能在MOD运算符中使用别名字段吗?任何帮助都将不胜感激 SELECT Course_no, Location, TO_NUMBER(SUBSTR(Location,2)) AS Subloc FROM Section WHERE Location LIKE '%M%' AND MOD(SubLoc,2) = 1 ORDER BY Course_no; 不能在定义列别名的where子句中使

我正在做一个作业,试图弄清楚我的语句给了我什么ORA-00904:“SUBLOC”:无效标识符错误。我不能在MOD运算符中使用别名字段吗?任何帮助都将不胜感激

SELECT Course_no, Location, TO_NUMBER(SUBSTR(Location,2)) AS Subloc
FROM Section
WHERE Location LIKE '%M%'
  AND MOD(SubLoc,2) = 1
ORDER BY Course_no;

不能在定义列别名的where子句中使用列别名。使用子查询或CTE:

SELECT s.*
FROM (SELECT Course_no, Location, TO_NUMBER(SUBSTR(Location,2)) AS Subloc
      FROM Section
      WHERE Location LIKE '%M%'
     ) s
WHERE MOD(SubLoc, 2) = 1
ORDER BY Course_no;

不能在定义列别名的where子句中使用列别名。使用子查询或CTE:

SELECT s.*
FROM (SELECT Course_no, Location, TO_NUMBER(SUBSTR(Location,2)) AS Subloc
      FROM Section
      WHERE Location LIKE '%M%'
     ) s
WHERE MOD(SubLoc, 2) = 1
ORDER BY Course_no;
戈登·林诺夫是对的, 您还可以在where子句中使用: 其中mod(TO_NUMBER(SUBSTR(位置,2))=1Gordon Linoff是对的, 您还可以在where子句中使用: 其中mod(TO_编号(SUBSTR(位置,2))=1