以下sql查询有什么问题

时间:2009-09-01 09:04:27

标签: sql oracle ora-00936

我收到错误

insert into dmi_user.fct_sales_summary_cmp values SELECT  A.bio_id
                                                  *
ERROR at line 1:
ORA-00936: missing expression

运行以下查询

insert into dmi_user.fct_sales_summary_cmp values SELECT  A.bio_id
,decode(A.wk_units2 - B.wk_units1,0,NULL,A.wk_units2), decode(A.wk_units2 -
B.wk_units1,0,NULL,B.wk_units1), decode(A.wk_units3 -
B.wk_units2,0,NULL,A.wk_units3), decode(A.wk_units3 -
B.wk_units2,0,NULL,B.wk_units2), decode(A.wk_units4 -
B.wk_units3,0,NULL,A.wk_units4), decode(A.wk_units4 -
B.wk_units3,0,NULL,B.wk_units3), decode(A.wk_units5 -
B.wk_units4,0,NULL,A.wk_units5), decode(A.wk_units5 -
B.wk_units4,0,NULL,B.wk_units4), decode(A.wk_units6 -
B.wk_units5,0,NULL,A.wk_units6), decode(A.wk_units6 -
B.wk_units5,0,NULL,B.wk_units5) from cnt_sls_dm.fct_sales_summary A,
cnt_sls_dm.fct_sales_summary B where A.bio_id=B.bio_id AND A.bio_id<>0 and
rownum<25 AND ( A.wk_units2<> B.wk_units1 or  A.wk_units3<> B.wk_units2 or
A.wk_units4<> B.wk_units3 or  A.wk_units5<> B.wk_units4 or  A.wk_units6<>
B.wk_units5)

4 个答案:

答案 0 :(得分:5)

我不确定oracle (现在答案得到了回复并评论我相对肯定;-)),但我希望它是

  

INSERT INTO table VALUES …

  

INSERT INTO table SELECT …

(没有VALUES个关键字)。

当然,我没有阅读整个查询; - )

答案 1 :(得分:0)

您的查询中可能不需要“值”这个词。

答案 2 :(得分:0)

INSERT INTO TABLE1(COL1,COL2) SELECT FIELD1,FIELD2 FROM TABLE2

答案 3 :(得分:0)

以下应该可以正常工作。

IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
      WHERE TABLE_NAME = 'T1')
   DROP TABLE T1
GO

CREATE TABLE T1 ( column_1 int, column_2 varchar(30))
GO

Insert into T1 Values (1,2)
Go
insert into T1 select 1,2

GO
select * from T1

我想,如果你删除你的值关键字,它应该没问题