Oracle中的标识符无效

时间:2012-09-21 11:41:19

标签: sql oracle identifier

我们有一个这样的表:

number branch code
1000 center XXCO
1001 xyz XXER
1002 zyx XXRE
2000 center2 YYCO
2001 xyz YYER
2002 zyx YYRE

代码末尾带有“CO”的所有项目都是代码中前两个符号相同的项目的父项。

任务是获取所有分支机构的列表及其各自的父母,如下所示:

center xyz XXER
center zyx XXRE
center2 xyz YYER
center2 zyx YYRE

我尝试以下代码:

SELECT b.branch, a.branch, a.code
FROM tmp a JOIN tmp b ON
left(a.code,2) = left(b.code,2)
AND a.code NOT LIKE '%CO' AND b.code LIKE '%CO';

但是我在脚本中指向“= left”位置时出现错误。

ORA-00904: "LEFT": недопустимый идентификатор
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Error at Line: 3 Column: 17

这可能是什么原因?有人可以帮忙吗?

2 个答案:

答案 0 :(得分:4)

Oracle没有LEFT功能 - 请改用SUBSTR(a.code,1,2)(假设您要比较前两个字符)。

答案 1 :(得分:1)

Oracle中没有LEFT功能。使用SUBSTR(代码,1,2)代替LEFT(代码,2)