加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle10g – DISTINCT导致ORA-01791:不是SELECT的表达式

发布时间:2020-12-12 14:03:58 所属栏目:百科 来源:网络整理
导读:select DISTINCT a.FNAME||' '||a.LNAME from AUTHOR a,books B,BOOKAUTHOR ba,customers C,orders where C.firstname='BECCA' and C.lastname='NELSON' and a.AUTHORID=ba.AUTHORID and b.ISBN=bA.ISBN order by a.LNAME 给出了ORA-01791:不是一个SELECT表
select DISTINCT a.FNAME||' '||a.LNAME
   from AUTHOR a,books B,BOOKAUTHOR ba,customers C,orders
   where C.firstname='BECCA'
      and C.lastname='NELSON'
      and a.AUTHORID=ba.AUTHORID
      and b.ISBN=bA.ISBN
   order by a.LNAME

给出了ORA-01791:不是一个SELECT表达式
但没有DISTINCT的工作。

如何使其工作?

只需在SELECT子句中自行添加LNAME作为列:
SELECT full_name
FROM (
 select DISTINCT a.FNAME||' '||a.LNAME AS full_name,a.LNAME
 from AUTHOR a,orders
 where C.firstname='BECCA'
   and C.lastname='NELSON'
   and a.AUTHORID=ba.AUTHORID
   and b.ISBN=bA.ISBN
 )
order by a.LNAME

如果你只想输出第一列,你可以把整个东西放在一个子查询中。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读