Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取以前的数据(少一个正在运行的列)_Sql_Oracle - Fatal编程技术网

Sql 获取以前的数据(少一个正在运行的列)

Sql 获取以前的数据(少一个正在运行的列),sql,oracle,Sql,Oracle,在下面的查询中,我成功地获得了当前价格,但如何获得以前的价格 SELECT CMPI_PRCINX AS CURRENT_PRICE, '?' as PRIVIOUS_PRICE FROM CMD_MTRL_PRICE_INF WHERE CMPI_PRCINX = (SELECT MAX(CMPI_PRCINX) FROM CMD_MTRL_PRICE_INF GROUP BY CMI_CODE) 我的桌子结构 CREATE TABLE "CMD_MTRL_PRICE_INF" (

在下面的查询中,我成功地获得了当前价格,但如何获得以前的价格

SELECT CMPI_PRCINX AS CURRENT_PRICE, '?' as PRIVIOUS_PRICE
FROM CMD_MTRL_PRICE_INF WHERE CMPI_PRCINX = 
(SELECT MAX(CMPI_PRCINX) FROM CMD_MTRL_PRICE_INF GROUP BY CMI_CODE)
我的桌子结构

CREATE TABLE "CMD_MTRL_PRICE_INF" 
   (    "CMPI_CODE" NUMBER(*,0), 
  "CMI_CODE" NUMBER(*,0), 
  "CMN_CDTY_MTRL" NUMBER(*,0), 
  "CMPI_PRICE_TYPE" VARCHAR2(2 BYTE) DEFAULT 'PL', 
  "TRM_CODE" NUMBER(*,0), 
  "ENTRY_DATE" DATE DEFAULT SYSDATE, 
  "USR_CODE" NUMBER(*,0), 
  "CMPI_PRCINX" NUMBER(14,2), 
  "CMPI_ID_REF" NUMBER(*,0), 
  "CMPI_UPDATE_STS" VARCHAR2(1 BYTE) DEFAULT 'N', 
  "CMPI_EFF_DATE" DATE
   );
Insert into CMD_MTRL_PRICE_INF (CMPI_CODE,CMI_CODE,CMN_CDTY_MTRL,CMPI_PRICE_TYPE,TRM_CODE,ENTRY_DATE,USR_CODE,CMPI_PRCINX,CMPI_ID_REF,CMPI_UPDATE_STS,CMPI_EFF_DATE) values (98,50,344,'AL',null,to_date('23-MAY-14','DD-MON-RR'),0,300,97,'N',to_date('14-MAY-30','DD-MON-RR'));
Insert into CMD_MTRL_PRICE_INF (CMPI_CODE,CMI_CODE,CMN_CDTY_MTRL,CMPI_PRICE_TYPE,TRM_CODE,ENTRY_DATE,USR_CODE,CMPI_PRCINX,CMPI_ID_REF,CMPI_UPDATE_STS,CMPI_EFF_DATE) values (96,50,344,'PL',null,to_date('22-MAY-14','DD-MON-RR'),0,100,null,'N',to_date('14-MAY-22','DD-MON-RR'));
Insert into CMD_MTRL_PRICE_INF (CMPI_CODE,CMI_CODE,CMN_CDTY_MTRL,CMPI_PRICE_TYPE,TRM_CODE,ENTRY_DATE,USR_CODE,CMPI_PRCINX,CMPI_ID_REF,CMPI_UPDATE_STS,CMPI_EFF_DATE) values (97,50,344,'AL',null,to_date('22-MAY-14','DD-MON-RR'),0,200,96,'N',to_date('14-MAY-23','DD-MON-RR'));
我的意思是说最高价格低于当前价格请尝试以下查询:-

SELECT CMPI_PRCINX AS CURRENT_PRICE, (SELECT MAX(CMPI_PRCINX) FROM CMD_MTRL_PRICE_INF 
WHERE CMPI_PRCINX<(SELECT MAX(CMPI_PRCINX) FROM CMD_MTRL_PRICE_INF)) AS PRIVIOUS_PRICE
FROM CMD_MTRL_PRICE_INF WHERE CMPI_PRCINX = (SELECT MAX(CMPI_PRCINX) 
FROM CMD_MTRL_PRICE_INF GROUP BY CMI_CODE)
下面是SQL FIDLE代码


请你描述一下你的专栏。请看,我已经编辑过了…你的意思是说最高价格低于当前价格吗?是的@R.S。。。我不知道为什么大多数人不理解我的问题
SELECT CMPI_PRCINX AS CURRENT_PRICE, (SELECT MAX(CMPI_PRCINX) FROM CMD_MTRL_PRICE_INF 
WHERE CMPI_PRCINX<(SELECT MAX(CMPI_PRCINX) FROM CMD_MTRL_PRICE_INF)) AS PRIVIOUS_PRICE
FROM CMD_MTRL_PRICE_INF WHERE CMPI_PRCINX = (SELECT MAX(CMPI_PRCINX) 
FROM CMD_MTRL_PRICE_INF GROUP BY CMI_CODE)