by zumsim [SQL Query] 쿼리 TIBERO join문 [2024.10.22 14:50:53]
SELECT
ORG_NM,
E_CNT,
M_CNT,
E_CNT+M_CNT AS TOT
FROM
(
SELECT
CASE WHEN ORG.ORG_NM LIKE '전라남도%' THEN '전남'
WHEN ORG.ORG_NM LIKE '전라북도%' THEN '전북'
WHEN ORG.ORG_NM LIKE '충청북도%' THEN '충북'
WHEN ORG.ORG_NM LIKE '충청남도%' THEN '충남'
WHEN ORG.ORG_NM LIKE '경상북도%' THEN '경북'
WHEN ORG.ORG_NM LIKE '경상남도%' THEN '경남'
ELSE SUBSTR(ORG.ORG_NM, 1,2) END ORG_NM,
CASE WHEN ORG.ORG_NM LIKE '전라북도%' THEN 12.5 ELSE ORG.ORG_ORD END ORD,
COUNT(CASE WHEN TUD.SCHOOL_LV = '01' THEN 1 END) AS E_CNT,
COUNT(CASE WHEN TUD.SCHOOL_LV = '02' THEN 1 END) AS M_CNT
FROM 테이블1 ORG
LEFT OUTER JOIN 테이블2 TUD
ON ORG.ORG_CD = TUD.OFFC_CD
LEFT OUTER JOIN 테이블3 TUM
ON TUD.USRID = TUM.USRID
INNER JOIN 테이블4 RUM
ON TUM.USRID = RUM.USRID AND RUM.ROLE_ID IN (63, 64)
WHERE ORG.ORG_DIV = 1 AND ORG.ORG_TYPE = 1
AND TUM.USR_SE_CD = 'USR' AND TUM.DEL_YN = 'N' AND TUM.TEST_ACCNT_YN = 'N'
GROUP BY ORG.ORG_NM, ORG.ORG_ORD
ORDER BY ORG.ORG_ORD
)
WHERE ORD IS NOT NULL;
이런 형태의 쿼리가 있는데 테이블1에는 기관정보가 있고
테이블2에는 학생들이 소속된 기관정보가 있는데
현재 특별한 이유로 테이블1에만 있고 2에는 없는 기관이 있습니다.
이런경우 현재 제가 짠 쿼리로는 그 기관이 아예 안나오는데
담당자가 원하는 결과는 없어도 기관은 나오길 원하고 있어서 질문 남깁니다ㅜ
JOIN문은 기본인건 아는데 너무 겉핥기 식으로만 공부해서 질문드려요ㅜ