表结构示例:
表名:WY_TEST
列:NO NUMBER(2,0)
A VARCHAR2(20)
数据:
NO A
1 作业内容1
2 tool1
3 1
4 作业内容2
7 作业内容1
8 tool2
9 3
规则: 行号除3余1的为作业内容,余2的为工具编号,余3的为次数
要求:生成如下格式
NO I_WORK I_TOOL I_CNT
1 作业内容1 tool1 1
2 作业内容2
3 作业内容3 tool2 3
SQL语句:
SELECT A.NO,MAX(A.I_WORK) I_WORK,MAX(A.I_TOOL) I_TOOL,MAX(A.I_CNT) I_CNT
FROM (
SELECT
CEIL(T.NO/3) NO,
CASE WHEN MOD(T.NO ,3) = 1 THEN T.A ELSE NULL END I_WORK,
CASE WHEN MOD(T.NO ,3) = 2 THEN T.A ELSE NULL END I_TOOL,
CASE WHEN MOD(T.NO ,3) = 0 THEN T.A ELSE NULL END I_CNT
FROM WY_TEST T ) A
GROUP BY A.NO
ORDER BY A.NO
联系客服