下面的sql查询有什么问题

下面的sql查询有什么问题,sql,oracle,ora-00936,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

我犯了一个错误

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)
插入到dmi\u user.fct\u sales\u summary\u cmp值中选择A.bio\u id
,解码(A.wk_单位2-B.wk_单位1,0,空,A.wk_单位2),解码(A.wk_单位2-
B.wk_单位1,0,空,B.wk_单位1),解码(A.wk_单位3-
B.wk_单位2,0,空,A.wk_单位3),解码(A.wk_单位3-
B.wk_单位2,0,空,B.wk_单位2),解码(A.wk_单位4-
B.wk_单位3,0,空,A.wk_单位4),解码(A.wk_单位4-
B.wk_单位3,0,空,B.wk_单位3),解码(A.wk_单位5-
B.wk_单位4,0,空,A.wk_单位5),解码(A.wk_单位5-
B.wk_单位4,0,空,B.wk_单位4),解码(A.wk_单位6-
B.wk_单元5,0,空,A.wk_单元6),解码(A.wk_单元6-
B.wk_单位5,0,空,B.wk_单位5)来自cnt_sls_dm.fct_销售_摘要A,
cnt_sls_dm.fct_sales_summary B其中A.bio_id=B.bio_id和A.bio_id 0和

rownum我对甲骨文不太确定(现在答案被投票并发表了评论,我相对确定;-),但我希望它是两者之一

插入表值…

插入表格选择…

(没有
关键字)


当然,我没能看懂整个问题;-)

我对甲骨文不太确定(现在答案被投票并发表了评论,我相对确定;-),但我希望它是两者之一

插入表值…

插入表格选择…

(没有
关键字)


当然,我没能看懂整个问题;-)

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

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

以下应该可以

INSERT INTO TABLE1(COL1,COL2) SELECT FIELD1,FIELD2 FROM TABLE2
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

我想,如果你删除你的Values关键字,它应该是好的

下面的应该是好的

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

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

+1!一定要这样!insert语句是insert/VALUES或insert/SELECT,但不是insert/VALUES/SELECT。您要么插入值,要么插入另一个表中的子集,而不是某种奇怪的混合体。:-)谢谢,现在看我的投票;-)只是我几乎从来没有和甲骨文打过交道,上一次是在大约10年前,你总是期望biggies有奇怪的语法:)+1!一定要这样!insert语句是insert/VALUES或insert/SELECT,但不是insert/VALUES/SELECT。您要么插入值,要么插入另一个表中的子集,而不是某种奇怪的混合体。:-)谢谢,现在看我的投票;-)只是我几乎从未与甲骨文打过交道,上一次是在大约10年前,你总是期待biggies会有奇怪的语法:)