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

时间:2014-12-20 15:20:58

标签: sql oracle

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

SELECT TO_NUMBER(PERS_NR) AS Spieler1, TO_NUMBER(PERS_NR) AS Spieler2 
FROM DBS_TAB_MITARBEITER 
WHERE Spieler1 < Spieler2;

我得到了

  

未知标识符

where子句中的

错误。为什么呢?

1 个答案:

答案 0 :(得分: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);

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