在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”的行。