오라클 보고서의 데이터를 2 개의 보고서로 정리해야합니다. 다음은 모든 것을 정리하는 쿼리입니다. 지금 나는 일반적으로 내가이 상태에서 값null이 아니며 조건보다 작음
WHERE ((CHQ_NO IS NOT NULL AND **CHQ_AMT>50000**)
or (CATEGORY='3' AND **CHQ_AMT>10000**))
1. 첫 번째 보고서
아니라고client_no
을 제외 할 조건
다음
와 다른 보고서에 표시되는 모든 데이터를 제외해야
WHERE ((CHQ_NO IS NOT NULL AND CHQ_AMT>50000) or (CATEGORY='3' AND CHQ_AMT>10000))
두 번째 보고서의 필자는 아래의 조건을 사용하고는 첫 번째 보고서에서 조건을 제외해야합니다.
SECOND 보고서
WHERE ((CHQ_NO IS NOT NULL AND CHQ_AMT<50000) or (CATEGORY='3' AND CHQ_AMT<10000))
아래 내 코딩이며 현재와 같이 코드가 제외 정확히 50,000입니다 금액을 확인하는 것이 조심 보고서 1
SELECT CLIENT_NO,
sum(decode(category,'3',decode(nvl(cancel_flag,'N'),'N',1,-2) ,0)) CASH,
sum(decode(chq_no, null,0, decode(nvl(cancel_flag,'N'),'N',1,-2))) CHQ,
0 YTD_PURCHASE,
0 YTD_SALES,
0 CURRENT_CRLIMIT,
0 CR_LIMIT
FROM BOS_M_LEDGER_REC
WHERE ((CHQ_NO IS NOT NULL AND CHQ_AMT<50000) or (CATEGORY='3' AND CHQ_AMT<10000))
and CLIENT_NO>=:P_CLIENT_NO_FROM
AND CLIENT_NO <=:P_CLIENT_NO_TO
AND TRAN_DATE>=:P_FROM_DATE
AND TRAN_DATE<=:P_TO_DATE
GROUP BY CLIENT_NO
분명히 Oracle이므로 MySQL 태그를 제거했습니다. –
하위 쿼리를 사용하여 첫 번째 쿼리에있는 클라이언트를 제외 할 수 있습니다. –
'WHERE ((CHQ_NO가 NULL이 아니고 CHQ_AMT가 <50000) 또는 (CATEGORY = '3'이고 CHQ_AMT이 <10000))이 조건이 이미 Report1에있는 'client_no'를 제거하지 않았습니까? 또는 나는 무엇인가 놓치고 있냐? – Vashi