ORA-01791 中的 DISTINCT 结果:不是 SELECTed 表达式
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: 不是 SELECTed 表达式 但没有 DISTINCT 就可以工作。
如何让它发挥作用?
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
gives ORA-01791: not a SELECTed expression
but works without DISTINCT.
How to make it work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只需在 select 子句中将 LNAME 作为单独的列添加即可:
如果您只需要输出中的第一列,则可以将整个内容放入子查询中。
Just add LNAME as a column on its own in the select clause:
If you only want the first column in the output, you can put the whole thing in a subquery.