0

我的查询有问题...

这个有效:

  select name, bday, address, dbms_random.value(1, 100) as joker
    from employee 
order by joker asc

但是,当我尝试使用 'where' 和 group/having 子句来获得我想要的东西时,我得到一个 ora-00904 (invalid identifier) ERROR..

例如

  select name, bday, address, dbms_random.value(1, 100) as joker 
    from employee 
   where joker>5 
order by joker asc

  select name, bday, address, dbms_random.value(1, 100) as joker
    from employee 
group by name, bday, address 
  having joker > 5 
order by joker asc 

我的问题可能是什么?如何使用百搭列进行查询?

4

2 回答 2

3

尝试:

Select * from
(select name, bday, address, dbms_random.value(1, 100) as joker 
from employee)
where joker>5 
order by joker asc
于 2010-10-05T06:55:33.957 回答
0

GOOD.This 工作,因为您可以按表达式排序/分组/过滤,但您不能按您在同一查询中给表达式的名称排序/分组/过滤。通过使用对 DBMS_RANDOM.VALUE 的调用嵌套查询,别名 JOKER 可用于外部查询中的 ORDER BY 子句。——</p>

于 2019-11-28T07:25:30.047 回答