ORA 01791错误

ORA 01791错误提示的是“ORA-01791: 不是 SELECTed 表达式”:

原因:sql中了用了DISTINCT关键字去重,但是order by后面跟的字段并没有出现在查询的列中,什么意思?看例子

例子: 错误:SELECT DISTINCT a.name,a.code from a inner join b on a.pk=b.pk ORDER BY  a.date

         正确:SELECT DISTINCT a.date, a.name,a.code from a inner join b on a.pk=b.pk ORDER BY  a.date

总结:实用DISTINCT关键时,只能排序前面出现过的字段

 

posted @ 2016-11-29 11:15  Roger's  阅读(1830)  评论(0编辑  收藏  举报