select A1,A2, b1,b2 from (select '01' as A1, 'a' as A2, '1' as A3, 'x' as a4, '12' as A5 from dual UNION all select '01' as A1, 'a' as A2, '2' as A3, 'z' as a4, '23' as A5 from dual UNION all select '01' as A1, 'b' as A2, '1' as A3, 'x' as a4, '34' as A5 from dual UNION all select '01' as A1, 'b' as A2, '2' as A3, 'z' as a4, '45' as A5 from dual UNION all select '02' as A1, 'c' as A2, '1' as A3, 'x' as a4, '56' as A5 from dual UNION all select '02' as A1, 'c' as A2, '2' as A3, 'z' as a4, '67' as A5 from dual UNION all select '02' as A1, 'd' as A2, '1' as A3, 'x' as a4, '78' as A5 from dual UNION all select '02' as A1, 'd' as A2, '2' as A3, 'z' as a4, '89' as A5 from dual ) t model RETURN UPDATED ROWS --只返回被更新的行 partition by(A1,A2) --按照A1,A2分组 dimension by(A3,A4) --以A3,A4为标尺 measures( A5 as b1, --初始化新列b1,为了保证b1的长度,以A5进行初始化 A5 as b2, --初始化新列b2 A5 as b5 ) rules( b1[null,null]=b5['1','x'], --[null,null]表示不更新任何行,而追加一行,用所给A3,A4值查找对应的A5的值 b2[null,null]=b5['2','z'] );
Oracle的行转列
猜你喜欢
转载自weiqingfei.iteye.com/blog/2233605
今日推荐
周排行