Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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
Mysql Oracle SQL:从选择更新列_Mysql_Oracle_Sql Update - Fatal编程技术网

Mysql Oracle SQL:从选择更新列

Mysql Oracle SQL:从选择更新列,mysql,oracle,sql-update,Mysql,Oracle,Sql Update,我必须更新SRCFILE\u FULL\u COUNT\u HIGH。从NOVA_HODNOTA设置新值。这是工作选择。 谢谢大家! UPDATE SRCFILE_ID, NOVA_HODNOTA, SRCFILE_FULL_COUNT_HIGH as STARA_HODNOTA from ( 工作选择: SELECT /*+ no_index(rh FILEINS_STATUS_FK_I) */ rh.SRCFILE_ID, rh.FILEINS_RECORD_COUNT, rh.FI

我必须更新
SRCFILE\u FULL\u COUNT\u HIGH
。从
NOVA_HODNOTA
设置新值。这是工作选择。
谢谢大家!

UPDATE SRCFILE_ID, NOVA_HODNOTA, SRCFILE_FULL_COUNT_HIGH as STARA_HODNOTA
from 
(
工作选择:

 SELECT /*+ no_index(rh FILEINS_STATUS_FK_I) */
 rh.SRCFILE_ID, rh.FILEINS_RECORD_COUNT, rh.FILEINS_EFFECTIVE_DATE,       esf.SRCFILE_FULL_COUNT_HIGH,
 100*(rh.FILEINS_RECORD_COUNT/esf.SRCFILE_FULL_COUNT_HIGH) as PROCENTA,
 CASE 
 WHEN (100*(rh.FILEINS_RECORD_COUNT/esf.SRCFILE_FULL_COUNT_HIGH)) >= 80 
 THEN FILEINS_RECORD_COUNT*1.25 
 ELSE SRCFILE_FULL_COUNT_HIGH 
 END AS NOVA_HODNOTA
 FROM ETL_SOURCE_FILE_INST rh,
 (SELECT MAX(FILEINS_EFFECTIVE_DATE) AS maxdate, SRCFILE_ID
  FROM ETL_SOURCE_FILE_INST
  GROUP BY SRCFILE_ID) maxresults,
 ETL_SOURCE_FILES esf
 WHERE rh.SRCFILE_ID = maxresults.SRCFILE_ID
 and rh.SRCFILE_ID = esf.SRCFILE_ID
 AND rh.FILEINS_EFFECTIVE_DATE= maxresults.maxdate
 AND RH.FILEINS_INCREMENTAL_FLAG = 'F'
 and ESF.SRCFILE_FULL_COUNT_FLAG = 'Y'
 and RH.FILEINS_STATUS = 'COMPLETE'
 ORDER BY SRCFILE_ID ASC
选择结束

)
WHERE STARA_HODNOTA = SRCFILE_FULL_COUNT_HIGH
SET STARA_HODNOTA = NOVA_HODNOTA
;
merge into
  ETL_SOURCE_FILE_INST i
using
  (
    SELECT /*+ no_index(rh FILEINS_STATUS_FK_I) */
rh.SRCFILE_ID, rh.FILEINS_RECORD_COUNT, rh.FILEINS_EFFECTIVE_DATE,       esf.SRCFILE_FULL_COUNT_HIGH,
100*(rh.FILEINS_RECORD_COUNT/esf.SRCFILE_FULL_COUNT_HIGH) as PROCENTA,
CASE 
WHEN (100*(rh.FILEINS_RECORD_COUNT/esf.SRCFILE_FULL_COUNT_HIGH)) >= 80 
THEN FILEINS_RECORD_COUNT*1.25 
ELSE SRCFILE_FULL_COUNT_HIGH 
END AS NOVA_HODNOTA
FROM ETL_SOURCE_FILE_INST rh,
(SELECT MAX(FILEINS_EFFECTIVE_DATE) AS maxdate, SRCFILE_ID
FROM ETL_SOURCE_FILE_INST
GROUP BY SRCFILE_ID) maxresults,
ETL_SOURCE_FILES esf
WHERE rh.SRCFILE_ID = maxresults.SRCFILE_ID
and rh.SRCFILE_ID = esf.SRCFILE_ID
AND rh.FILEINS_EFFECTIVE_DATE= maxresults.maxdate
AND RH.FILEINS_INCREMENTAL_FLAG = 'F'
and ESF.SRCFILE_FULL_COUNT_FLAG = 'Y'
and RH.FILEINS_STATUS = 'COMPLETE'
  ) t on (t.SRCFILE_ID = i.SRCFILE_ID)
when matched then
update
set
  i.SRCFILE_FULL_COUNT_HIGH = t.NOVA_HODNOTA
where
  i.SRCFILE_FULL_COUNT_HIGH = t.SRCFILE_FULL_COUNT_HIGH
;