在oracle中遍历单元格值

在oracle中遍历单元格值,oracle,Oracle,我有一个表,其中数据以如下格式存储: CREATE TABLE TBL_COUNTING ( DF_RECORD_STATUS NVARCHAR2(255), SOURCE_FILE_NAME NVARCHAR2(255), APP_HCP360_COUNT NUMBER, STAGING_COUNT NUMBER, SUPERCEEDED NUMBER ); SUPERCEEDED upload_trxn2015831_3039.csv 0

我有一个表,其中数据以如下格式存储:

CREATE TABLE TBL_COUNTING ( 
 DF_RECORD_STATUS NVARCHAR2(255), 
 SOURCE_FILE_NAME NVARCHAR2(255), 
 APP_HCP360_COUNT NUMBER, 
 STAGING_COUNT NUMBER, 
 SUPERCEEDED NUMBER );


SUPERCEEDED upload_trxn2015831_3039.csv      0                            2

TOTAL       upload_trxn2015831_3039.csv      2            2               0
我想将上面的格式设置为下面的格式。但我不能这样做

DF_RECORD_STATUS SOURCE_FILE_NAME            APP_HCP360_COUNT   STAGING_COUNT   SUPERCEEDED
SUPERCEEDED      upload_trxn2015831_3039.csv         2                            0
TOTAL            upload_trxn2015831_3039.csv         0            2               2
到目前为止,我能够做到以下几点:

SELECT 
DF_RECORD_STATUS,
SOURCE_FILE_NAME,
STAGING_COUNT,
CASE WHEN DF_RECORD_STATUS = 'NEW'
THEN
APP_HCP360_COUNT
ELSE
0
END AS APP_HCP360_COUNT,
SUPERCEEDED
FROM TBL_COUNTING 
WHERE SOURCE_FILE_NAME = 'upload_trxn2015831_3039.csv';

我一直在尝试使用DF_RECORD_STATUS列来处理数据,但没有用

Oracle滞后和领先分析功能应该能很好地完成这项工作。请参阅官方文档或尝试此示例。我仍然不太清楚您的数据集,但这应该为您指明了正确的方向:

   SELECT DF_RECORD_STATUS,
   SOURCE_FILE_NAME,
   STAGING_COUNT 
   LEAD(APP_HCP360_COUNT, 1) OVER (ORDER BY APP_HCP360_COUNT) AS "RecordCount" 
   FROM TBL_COUNTING 
   WHERE SOURCE_FILE_NAME = 'upload_trxn2015831_3039.csv';

您能否提供一个包含数据类型和一些示例数据的表创建脚本?创建表TBL\u计数DF\u记录\u状态NVARCHAR2255、源文件\u名称NVARCHAR2255、应用程序\u HCP360\u计数编号、暂存计数编号、超级种子编号您得到了什么错误?什么是“无用的”?我没有得到任何错误,我只是无法得到我的问题中提到的格式。我想做的是遍历列APP_HCP360_COUNT的值,并从DF_RECORD_STATUS的值为“superceed”的行到DF_RECORD_STATUS的值为“TOTAL”的行。