带有自定义命名列的未知标识符

hum*_*bug 0 sql oracle

我想它很容易解决,但我不明白:

SELECT TO_NUMBER(PERS_NR) AS Spieler1, TO_NUMBER(PERS_NR) AS Spieler2 
FROM DBS_TAB_MITARBEITER 
WHERE Spieler1 < Spieler2;
Run Code Online (Sandbox Code Playgroud)

我得到了

未知的标识符

where条款中的错误.为什么?

Pat*_*man 5

你的where条款不起作用,因为当时还不知道这些字段.您必须使用真实的列名称:

SELECT TO_NUMBER(PERS_NR) AS Spieler1, TO_NUMBER(PERS_NR) AS Spieler2 
FROM DBS_TAB_MITARBEITER 
WHERE TO_NUMBER(PERS_NR) < TO_NUMBER(PERS_NR);
Run Code Online (Sandbox Code Playgroud)

当你这样做时,你会立即看到你的查询没有产生任何行,因为该where子句不可能导致a true.