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关键时,只能排序前面出现过的字段