小编Irv*_*en 的帖子

以下sql查询有什么问题

我收到错误

insert into dmi_user.fct_sales_summary_cmp values SELECT  A.bio_id
                                                  *
ERROR at line 1:
ORA-00936: missing expression
Run Code Online (Sandbox Code Playgroud)

在运行以下查询

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)
Run Code Online (Sandbox Code Playgroud)

sql oracle ora-00936

0
推荐指数
1
解决办法
155
查看次数

ORA-01756:引用的字符串未正确终止

please let me know the issue with following script (sql,oracle 10g)

  1  DECLARE @colname AS NVARCHAR(50)
  2  DECLARE @tablename AS NVARCHAR(500)
  3  DEClARE @query AS NVARCHAR(500)
  4  SET @colname = 'select wk_units1 from cnt_sls_dm.fct_sales_summary'
  5  SET @tablename = 'SELECT tablename from dmi_user.fct_sales_meta'
  6  set @query='select '+@colname+' FROM '+@tablename+'
  7* EXECUTE sp_executesql @query
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

0
推荐指数
1
解决办法
2万
查看次数

Oracle上的SQL查询给出了错误

SELECT A.PD_END_DT Recent_PD_END_DT,
       B.PD_END_DT Last_PD_END_DT,
       A.NRX_CNT - B.NRX_CNT DELTA
FROM   wkly_lnd.lnd_wkly_plan_rx_summary A,
       wkly_lnd.lnd_wkly_plan_rx_summary B 
WHERE  a.MKT_I D =b.MKT_ID;
Run Code Online (Sandbox Code Playgroud)

sql oracle

-1
推荐指数
1
解决办法
75
查看次数

需要以这样一种方式实现以下查询:我们不应该编写这么大的查询

我们需要以这样一种方式实现以下查询:我们不应该编写这么大的查询,而应该通过过程,函数或匿名块来实现它(我们能做什么)

wk_units1-105是列名cnt_sls_dm.fct_sales_summary表名.我们正在比较同一个表中的数据,但a.fct_sales_summary的第2周与b.fct_sales_summary
的第1周进行比较

简而言之,我们需要在pl/sql中创建一些东西以应用以下功能(我是仪式)

SELECT  DISTINCT A.bio_id ,
    DECODE(A.wk_units2 - B.wk_units1,0,NULL,A.wk_units2) prev,
    DECODE(A.wk_units2 - B.wk_units1,0,NULL,B.wk_units1) curr, 
    DECODE(A.wk_units3 -B.wk_units2,0,NULL,A.wk_units3) prev, 
    DECODE(A.wk_units3 -B.wk_units2,0,NULL,B.wk_units2) curr, 
    DECODE(A.wk_units4 -B.wk_units3,0,NULL,A.wk_units4) prev, 
    DECODE(A.wk_units4 -B.wk_units3,0,NULL,B.wk_units3) curr,
    DECODE(A.wk_units5 -B.wk_units4,0,NULL,A.wk_units5) prev, 
    DECODE(A.wk_units5 -B.wk_units4,0,NULL,B.wk_units4) curr, 
    DECODE(A.wk_units6 -B.wk_units5,0,NULL,A.wk_units6) prev, 
    DECODE(A.wk_units6 -B.wk_units5,0,NULL,B.wk_units5) curr 
     .                                            .                          .
     .                                            .                          .
     .                                            .                          .
   DECODE(A.wk_units105 -B.wk_units104,0,NULL,A.wk_units105) prev, 
   DECODE(A.wk_units105 -B.wk_units105,0,NULL,B.wk_units104) curr 
    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 …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

-4
推荐指数
1
解决办法
159
查看次数

标签 统计

oracle ×4

sql ×4

plsql ×2

ora-00936 ×1