Oracle ORA-00907:创建表时缺少右括号

Oracle ORA-00907:创建表时缺少右括号,oracle,ddl,Oracle,Ddl,我有下面的查询,运行良好,并产生正确的结果 select id, sum(item_stock) from seller group by id order by id ASC; 当我尝试用上面的查询创建一个表时,如下所示 CREATE TABLE total_stock AS ( select id, sum(item_stock) from seller group by id order by id ASC ); 我得到以下错误 SQL错误:ORA-00907:缺少右括号 如果您能提供

我有下面的查询,运行良好,并产生正确的结果

select id, sum(item_stock)
from seller
group by id
order by id ASC;
当我尝试用上面的查询创建一个表时,如下所示

CREATE TABLE total_stock
AS (
select id, sum(item_stock)
from seller
group by id
order by id ASC );
我得到以下错误

SQL错误:ORA-00907:缺少右括号


如果您能提供任何有关此操作无效原因的帮助,我们将不胜感激。

您的问题是由条款ORDER by引起的

你必须:

  • 在“总和”字段中添加别名
  • 创建另一个子查询以“删除”order BY子句

  • 不相关,但是:外部select(在
    AS
    之后)周围的括号是无用的-并且您根本不需要派生表(内部select)。而且,
    orderby
    是无用的,因为一个表一开始就没有顺序。该语句可以简化为
    CREATE TABLE total_stock AS select id,sum(item_stock)AS item_stock by id从卖方组创建
    
    CREATE TABLE total_stock
    AS (
        select id, item_stock
        from (
             select id, sum(item_stock) as item_stock
             from seller
             group by id
             order by id ASC 
             )
    )