不是的,数据没有变化,个人感觉写法没问题(但放在存储过程中运行就是有问题,最可能是rownum导致的,但就是觉得有点诡异),换了种写法就没问题,分组都是一样的。
问题SQL长这样:
SELECT *
FROM (SELECT rg.line_num
,rg.row_seq
,rg.col_seq
,rg.dr_cr_net_code
,rg.sign_flag
,fif.application_column_name
,decode(fif.application_column_name
,'SEGMENT1'
,segment1_low
,'SEGMENT2'
,segment2_low
,'SEGMENT3'
,segment3_low
,'SEGMENT4'
,segment4_low
,'SEGMENT5'
,segment5_low
,'SEGMENT6'
,segment6_low
,'SEGMENT7'
,segment7_low
,'SEGMENT8'
,segment8_low
,'SEGMENT9'
,segment9_low
,'SEGMENT10'
,segment10_low
,'SEGMENT11'
,segment11_low) seg_low
,decode(fif.application_column_name
,'SEGMENT1'
,segment1_high
,'SEGMENT2'
,segment2_high
,'SEGMENT3'
,segment3_high
,'SEGMENT4'
,segment4_high
,'SEGMENT5'
,segment5_high
,'SEGMENT6'
,segment6_high
,'SEGMENT7'
,segment7_high
,'SEGMENT8'
,segment8_high
,'SEGMENT9'
,segment9_high
,'SEGMENT10'
,segment10_high
,'SEGMENT11'
,segment11_high) seg_high
FROM (SELECT rownum line_num
,dum_row.axis_seq row_seq
,dum_col.axis_seq col_seq
,racr.dr_cr_net_code
,decode(racc.sign
,'-'
,-1
,1) * decode(racr.sign
,'-'
,-1
,1) sign_flag
,greatest(nvl(racr.segment1_low
,'0')
,nvl(racc.segment1_low
,'0')) segment1_low
,least(nvl(racr.segment1_high
,'z')
,nvl(racc.segment1_high
,'z')) segment1_high
,greatest(nvl(racr.segment2_low
,'0')
,nvl(racc.segment2_low
,'0')) segment2_low
,least(nvl(racr.segment2_high
,'z')
,nvl(racc.segment2_high
,'z')) segment2_high
,greatest(nvl(racr.segment3_low
,'0')
,nvl(racc.segment3_low
,'0')) segment3_low
,least(nvl(racr.segment3_high
,'z')
,nvl(racc.segment3_high
,'z')) segment3_high
,greatest(nvl(racr.segment4_low
,'0')
,nvl(racc.segment4_low
,'0')) segment4_low
,least(nvl(racr.segment4_high
,'z')
,nvl(racc.segment4_high
,'z')) segment4_high
,greatest(nvl(racr.segment5_low
,'0')
,nvl(racc.segment5_low
,'0')) segment5_low
,least(nvl(racr.segment5_high
,'z')
,nvl(racc.segment5_high
,'z')) segment5_high
,greatest(nvl(racr.segment6_low
,'0')
,nvl(racc.segment6_low
,'0')) segment6_low
,least(nvl(racr.segment6_high
,'z')
,nvl(racc.segment6_high
,'z')) segment6_high
,greatest(nvl(racr.segment7_low
,'0')
,nvl(racc.segment7_low
,'0')) segment7_low
,least(nvl(racr. segment7_high
,'z')
,nvl(racc.segment7_high
,'z')) segment7_high
,greatest(nvl(racr.segment8_low
,'0')
,nvl(racc.segment8_low
,'0')) segment8_low
,least(nvl(racr.segment8_high
,'z')
,nvl(racc.segment8_high
,'z')) segment8_high
,greatest(nvl(racr.segment9_low
,'0')
,nvl(racc.segment9_low
,'0')) segment9_low
,least(nvl(racr.segment9_high
,'z')
,nvl(racc.segment9_high
,'z')) segment9_high
,greatest(nvl(racr.segment10_low
,'0')
,nvl(racc.segment10_low
,'0')) segment10_low
,least(nvl(racr.segment10_high
,'z')
,nvl(racc.segment10_high
,'z')) segment10_high
,greatest(nvl(racr.segment11_low
,'0')
,nvl(racc.segment11_low
,'0')) segment11_low
,least(nvl(racr.segment11_high
,'z')
,nvl(racc.segment11_high
,'z')) segment11_high
FROM rg_report_axes dum_col
,rg_report_axis_contents racc
,rg_report_axes dum_row
,rg_report_axis_contents racr
WHERE dum_col.axis_seq = racc.axis_seq(+)
AND dum_col.axis_set_id = racc.axis_set_id(+)
AND dum_row.axis_seq = racr.axis_seq(+)
AND dum_row.axis_set_id = racr.axis_set_id(+)
AND dum_col.axis_set_id = 2008
AND dum_row.axis_set_id = 5000
) rg
,fnd_id_flex_segments fif
,fnd_application fa
WHERE fif.application_id = fa.application_id
AND fif.id_flex_num = 50388
AND fif.id_flex_code = 'GL#'
AND fa.application_short_name = 'SQLGL'
AND rg.segment1_low <= rg.segment1_high
AND rg.segment2_low <= rg.segment2_high
AND rg.segment3_low <= rg.segment3_high
AND rg.segment4_low <= rg.segment4_high
AND rg.segment5_low <= rg.segment5_high
AND rg.segment6_low <= rg.segment6_high
AND rg.segment7_low <= rg.segment7_high
AND rg.segment8_low <= rg.segment8_high
AND rg.segment9_low <= rg.segment9_high
AND rg.segment10_low <= rg.segment10_high
AND rg.segment11_low <= rg.segment11_high)
WHERE (seg_low != '0' OR seg_high != 'z')
AND row_seq = 405
AND col_seq = 1031;