借贷机构固定为每种两个吗? SELECT MAX(TRADE_DATE) TRADE_DATE, BATCH_NO, MAX(DECODE(FLAG,'D',DECODE(RN,1,ORG))) D_ORA1, MAX(DECODE(FLAG,'D',DECODE(RN,2,ORG))) D_ORA2, MAX(DECODE(FLAG,'C',DECODE(RN,1,ORG))) C_ORA1, MAX(DECODE(FLAG,'C',DECODE(RN,2,ORG))) C_ORA2 FROM (select T.*,ROW_NUMBER()OVER(PARTITION BY BATCH_NO,FLAG ORDER BY ORG) RN from T) GROUP BY BATCH_NO
没有。将一下表的记录: TRADE_DATE ,BATCH_NO, FLAG, ORG 19900901 1 D 机构a 19900901 1 D 机构b 19900901 1 C 机构c 19900901 1 C 机构d是按flag分是什么机构的,flag =d 是借,=c 是贷输出成如下形式: TRADE_DATE ,BATCH_NO, D_ORA1 D_ORA2 C_ORA1 C_ORA2 19900901 1 机构a 机构b 机构c 机构d
SELECT MAX(TRADE_DATE) TRADE_DATE,
BATCH_NO,
MAX(DECODE(FLAG,'D',DECODE(RN,1,ORG))) D_ORA1,
MAX(DECODE(FLAG,'D',DECODE(RN,2,ORG))) D_ORA2,
MAX(DECODE(FLAG,'C',DECODE(RN,1,ORG))) C_ORA1,
MAX(DECODE(FLAG,'C',DECODE(RN,2,ORG))) C_ORA2
FROM
(select T.*,ROW_NUMBER()OVER(PARTITION BY BATCH_NO,FLAG ORDER BY ORG) RN
from T)
GROUP BY BATCH_NO
TRADE_DATE ,BATCH_NO, FLAG, ORG
19900901 1 D 机构a
19900901 1 D 机构b
19900901 1 C 机构c
19900901 1 C 机构d是按flag分是什么机构的,flag =d 是借,=c 是贷输出成如下形式:
TRADE_DATE ,BATCH_NO, D_ORA1 D_ORA2 C_ORA1 C_ORA2
19900901 1 机构a 机构b 机构c 机构d
借和贷机构最多两个,没有填NULL