我在 oracle apex 中的查询有什么问题?
what is wrong with my query in oracle apex?
下面的代码不起作用,但是当我将它转换为下一个代码时它确实起作用了。为什么?
select * ,count(*) over(partition by colour) as counts_by_colour
from bricks;
输出:
ORA-00923: FROM keyword not found where expected
修改:
select b.* ,count(*) over(partition by colour) as counts_by_colour
from bricks b;
这只是 SQL 的工作方式 - 与 APEX 无关。
select *
表示 select 以下所有列。所以...
select * from emp join dept;
...returns emp 的所有列和 dept 的所有列。
您不能 select 任何其他 select *
- 例如...
select *, 'abc' from emp;
引发与您相同的错误。
但是,您可以使用 select alias.*
到 select 查询中一个 table/view 的所有列,然后您还可以 select 其他内容:
select e.*, 'abc' from emp e;
或
select e.*, d.loc from emp e join dept d;
“隐式”别名也有效:
select emp.*, 'abc' from emp;
下面的代码不起作用,但是当我将它转换为下一个代码时它确实起作用了。为什么?
select * ,count(*) over(partition by colour) as counts_by_colour
from bricks;
输出:
ORA-00923: FROM keyword not found where expected
修改:
select b.* ,count(*) over(partition by colour) as counts_by_colour
from bricks b;
这只是 SQL 的工作方式 - 与 APEX 无关。
select *
表示 select 以下所有列。所以...
select * from emp join dept;
...returns emp 的所有列和 dept 的所有列。
您不能 select 任何其他 select *
- 例如...
select *, 'abc' from emp;
引发与您相同的错误。
但是,您可以使用 select alias.*
到 select 查询中一个 table/view 的所有列,然后您还可以 select 其他内容:
select e.*, 'abc' from emp e;
或
select e.*, d.loc from emp e join dept d;
“隐式”别名也有效:
select emp.*, 'abc' from emp;