Sql ora-00904无效标识符

Sql ora-00904无效标识符,sql,oracle,ora-00904,Sql,Oracle,Ora 00904,我对我的查询有问题 这一个有效: select name, bday, address, dbms_random.value(1, 100) as joker from employee order by joker asc 但是,当我试图使用where和group/having子句获取我想要的内容时,我得到了一个ora-00904(无效标识符)错误 e、 g 我的问题是什么?如何使用joker列进行查询?试试: Select * from (select name, bday,

我对我的查询有问题

这一个有效:

  select name, bday, address, dbms_random.value(1, 100) as joker
    from employee 
order by joker asc
但是,当我试图使用where和group/having子句获取我想要的内容时,我得到了一个ora-00904(无效标识符)错误

e、 g

我的问题是什么?如何使用joker列进行查询?

试试:

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


很好。这是因为可以按表达式排序/分组/筛选,但不能按同一查询中给定的表达式名称排序/分组/筛选。通过调用DBMS_RANDOM.VALUE嵌套查询,别名JOKER可用于外部查询中的ORDER By子句

很好。这是因为可以按表达式排序/分组/筛选,但不能按同一查询中给定的表达式名称排序/分组/筛选。通过调用DBMS_RANDOM.VALUE嵌套查询,别名JOKER可用于外部查询中的ORDER By子句

tnx michael,成功了,你知道这是什么样的sql格式吗?为什么要这样重新格式化?是因为我有了新的小丑专栏吗?tnxyup的问题与vc74相同;(…这种查询是否与mysql、sqlite等兼容?tnx@user415881,如果您将mysql的函数dbms_random.value替换为rand(),将sqlite替换为random()@michael,不,我的意思是,用您的sql..为什么它是这样形成的,而不是我的..在您使用的sql中..选择*(选择*自??)…只是想知道为什么要这样做;(@VC 74:这是有效的,因为你可以按表达式排序/分组/筛选,但不能按同一查询中给定的表达式名称排序/分组/筛选。通过调用DBMS_RANDOM.VALUE嵌套查询,别名JOKER可用于外部查询中的ORDER by子句。tnx michael,它起作用了,你知道我使用的是哪种sql格式吗这是什么?为什么要这样重新格式化?是因为我得到了新的joker专栏吗?tnxyup得到了与vc74相同的问题;(…这种查询是否与mysql、sqlite…等兼容?tnx@user415881,如果将mysql的函数dbms_random.value替换为rand(),将sqlite替换为random(),则可以使用@michael,不,我的意思是,用你的sql..为什么它是这样形成的,而不是我的..在你的sql中你使用..选择*(选择*从???).只是想知道为什么它应该这样做;(@VC 74:这是有效的,因为您可以按表达式进行排序/分组/筛选,但不能按在同一查询中为表达式指定的名称进行排序/分组/筛选。通过将查询与对DBMS_RANDOM.VALUE的调用嵌套,别名JOKER可用于外部查询中的ORDER by子句。
Select * from
(select name, bday, address, dbms_random.value(1, 100) as joker 
from employee)
where joker>5 
order by joker asc