반응형
Oracle: 절이 다른 여러 개의 카운트를 수행하는 가장 좋은 방법은 무엇입니까?
같은 테이블의 where 절이 다른 행을 카운트해야 합니다.다음은 제가 필요로 하는 출력입니다.
Bu #A #B #C #D #E #F #G #H #J #K #L #M #N
GB01 267 284 84 45 35 32 458 801 111 899 892 56 99
NL01 132 844 65 28 26 12 627 321 56 681 1062 127 128
각 열마다 기준이 있기 때문에 지금까지 다음 SQL을 가지고 있지만 이미 보기 흉하고 필요한 항목을 정확히 반환하지 않습니다.
SELECT * FROM (
SELECT
c_unit_code,
COUNT(*) AS ADVICE_EXPORT,
0 AS CONFIRMATION_EXPORT,
0 AS ISSUANCE_STANDBY
FROM EXIMTRX.EPLC_MASTER
WHERE (CLS_FLG NOT LIKE 'YES' OR CLS_FLG IS NULL) AND (
form_of_lc LIKE 'IRREVOCABLE' OR
form_of_lc LIKE 'REVOCABLE' OR
form_of_lc LIKE 'IRREVOCABLE TRANSFERABLE' OR
form_of_lc LIKE 'REVOCABLE TRANSFERABLE') AND our_eng LIKE 'ADVICE'
GROUP BY c_unit_code
UNION
SELECT
c_unit_code,
0 AS ADVICE_EXPORT,
COUNT(*) AS CONFIRMATION_EXPORT,
0 AS ISSUANCE_STANDBY
FROM EXIMTRX.EPLC_MASTER
WHERE (CLS_FLG NOT LIKE 'YES' OR CLS_FLG IS NULL) AND (
form_of_lc LIKE 'IRREVOCABLE' OR
form_of_lc LIKE 'REVOCABLE' OR
form_of_lc LIKE 'IRREVOCABLE TRANSFERABLE' OR
form_of_lc LIKE 'REVOCABLE TRANSFERABLE') AND our_eng LIKE 'CONFIRMATION'
GROUP BY c_unit_code
UNION
SELECT
c_unit_code,
0 AS ADVICE_EXPORT,
0 AS CONFIRMATION_EXPORT,
COUNT(*) AS ISSUANCE_STANDBY
FROM EXIMTRX.EPLC_MASTER
WHERE (CLS_FLG NOT LIKE 'YES' OR CLS_FLG IS NULL) AND (
form_of_lc LIKE 'IRREVOCABLE STANDBY' OR
form_of_lc LIKE 'REVOCABLE STANDBY' OR
form_of_lc LIKE 'IRREVOC TRANS STANDBY')
GROUP BY c_unit_code
);
그리고 이것이 반환되는 것입니다.
GB01 0 0 17
GB01 0 39 0
GB01 80 0 0
NL01 0 0 32
NL01 0 159 0
NL01 341 0 0
제가 필요로 하는 것을 어떻게 이룰 수 있을까요?
SELECT
c_unit_code,
COUNT(case when YOUR_CONDITIONS_FOR_ADVICE_EXPORT then 1 end) AS ADVICE_EXPORT,
COUNT(case when YOUR_CONDITIONS_FOR_CONFIRMATION_EXPORT then 1 end) AS CONFIRMATION_EXPORT,
COUNT(case when YOUR_CONDITIONS_FOR_ISSUANCE_STANDBY then 1 end) AS ISSUANCE_STANDBY
FROM EXIMTRX.EPLC_MASTER
GROUP BY c_unit_code
언급URL : https://stackoverflow.com/questions/15431698/oracle-how-to-do-multiple-counts-with-different-where-clauses-the-best-way
반응형
'source' 카테고리의 다른 글
| Node.JS: 오류 발생: [nodedemon] 내부 감시 실패: ENOSPC 감시 (0) | 2023.08.05 |
|---|---|
| Swift에서 뷰 컨트롤러와 다른 개체 간에 데이터를 어떻게 공유합니까? (0) | 2023.08.05 |
| 로지스틱 회귀 분석:알 수 없는 레이블 유형: python에서 sklearn을 사용하는 'continuous' (0) | 2023.08.05 |
| 설치_실패_중복_사용 권한...C2D_MESSAGE (0) | 2023.08.05 |
| 각도 재료에서 아이콘의 색상을 설정하는 방법은 무엇입니까? (0) | 2023.08.05 |