2014-12-20 42 views
0

我想它很容易解決,但我不明白這一點:自定義命名的列未知標識符

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

我得到一個

未知標識符

錯誤where條款。爲什麼?

+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您的查詢不產生任何行。

+0

@ Patrick-like Answer.so的最後一節+1 – HaveNoDisplayName

+0

@謝謝。不能幫助它:) –