SELECT ID,
ORDER_ID,
ACCOUNT_NO,
CREATE_TIME,
DR_CR_FLAG,
BUSINESS_TYPE,
PAYMENT_ORDER_NO,
DR_CR_AMOUNT,
CR_AMOUNT,
PRE_CR_AMOUNT,
ACCOUNT_AMOUNT,
EXPENSE_FLAG
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY ORDER_ID, BUSINESS_TYPE, EXPENSE_FLAG ORDER BY VOUCHER_NO desc) RN,
T.ID,
T.ORDER_ID,
T.ACCOUNT_NO,
T.CREATE_TIME,
T.DR_CR_FLAG,
T.BUSINESS_TYPE,
T.PAYMENT_ORDER_NO,
T.DR_CR_AMOUNT,
T.CR_AMOUNT,
T.PRE_CR_AMOUNT,
T.ACCOUNT_AMOUNT,
T.EXPENSE_FLAG
FROM T_ACCOUNT_WATER T
WHERE T.ACCOUNT_NO = 1019659769267895
AND T.BUSINESS_TYPE != 'REFUND'
AND T.CREATE_TIME >= TO_DATE('2016-01-15','yyyy-mm-dd')
AND T.CREATE_TIME < TO_DATE('2016-01-15','yyyy-mm-dd') +1)
WHERE RN = 1
AND CASE
WHEN BUSINESS_TYPE = 'NBNKTRANS' THEN
DR_CR_FLAG
ELSE
'CR'
END = 'CR'
UNION ALL
SELECT ID,
ORDER_ID,
ACCOUNT_NO,
CREATE_TIME,
DR_CR_FLAG,
BUSINESS_TYPE,
PAYMENT_ORDER_NO,
DR_CR_AMOUNT,
CR_AMOUNT,
PRE_CR_AMOUNT,
ACCOUNT_AMOUNT,
EXPENSE_FLAG
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY ORDER_ID, BUSINESS_TYPE, EXPENSE_FLAG ORDER BY VOUCHER_NO desc) RN,
T.ID,
T.ORDER_ID,
T.ACCOUNT_NO,
T.CREATE_TIME,
T.DR_CR_FLAG,
T.BUSINESS_TYPE,
T.PAYMENT_ORDER_NO,
T.DR_CR_AMOUNT,
T.CR_AMOUNT,
T.PRE_CR_AMOUNT,
T.ACCOUNT_AMOUNT,
T.EXPENSE_FLAG
FROM T_ACCOUNT_WATER T
WHERE T.ACCOUNT_NO = 1019659769267895
AND T.BUSINESS_TYPE = 'REFUND'
AND T.CREATE_TIME >= TO_DATE('2016-01-15','yyyy-mm-dd')
AND T.CREATE_TIME < TO_DATE('2016-01-15','yyyy-mm-dd') +1);
CASE WHEN THEN END
猜你喜欢
转载自tangkuo.iteye.com/blog/2271500
今日推荐
周排行