錯誤解決--oracle中出現ORA-01791:不是SELECTed表達式錯誤

分類:編程 時間:2016-11-03
錯誤解決--Oracle中出現ORA-01791:不是SELECTed表達式錯誤   Oracle數據庫,執行下面語句出現錯誤“ORA-01791: 不是 SELECTed 表達式”:  
select distinct t.name from auth_employee t order by t.auth_employee_id asc

 

  原來:SELECT語句中含有DISTINCT關鍵字或者有運算符時,排序用字段必須與SELECT語句中的字段相對應。   網上搜到解釋如下:   在ORDER BY中指定多個列,結果將先按照子句中的第一列排序,然後第二個,依此類推。   在SELECT中未出現的列名也可用於ORDER BY 子句中,只要TABLE中有就行。   但如果SELECT子句中出現了DISTINCT關鍵字,則只能用出現過的列名,   而且如果SELECT子句中使用了任何運算符,在ORDER BY 子句中必須保持和SELECT子句中表達式完全一致,否則出現錯誤:“ORA-01791: 不是 SELECTed 表達式”。  
Tags:

文章來源:


ads
ads

相關文章
ads

相關文章

ad