Sql (三);MOD无效标识符
我正在做一个作业,试图弄清楚我的语句给了我什么ORA-00904:“SUBLOC”:无效标识符错误。我不能在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子句中使
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