SELECT /* SQLID=kr.amc.amis.hm.gr.mj.store.mapper.HstkBasicInfoDaoMapper.retrieveTtakrMdexInfoMtrl */
OTPT.PATNO -- 병원등록번호
, OTPT.VIST_SN -- 내원일련번호
, OTPT.HE_DT
, OTPT.DAILY_SN -- 일별일련번호
, OTPT.HE_PKG_CLSF_CD -- 건강검진패키지분류코드
, OTPT.HE_PKG_CD -- 건강검진패키지코드
, (
SELECT KOR_NM
FROM V_GZCDCPKCD PKCD
WHERE OTPT.HE_PKG_CD = PKCD.HE_PKG_CD
) AS PKNM
, OTPT.RVIST_CNT
, OTPT.INDL_SCTY_CD -- 개인단체코드
, FN_GZ_CDNM('IndlSctyCd', OTPT.INDL_SCTY_CD) AS INDL_SCTY_CDNM -- 개인단체코드명
, OTPT.HE_STAT_CD -- 건강검진상태코드
, NVL(DECODE(OTPT.TDY_RSLT_YN, 'D', '당일', ' '), ' ') AS TDY_RSLT_YN
, NVL(OTPT.EXAM_CRS_CD, ' ') AS EXAM_CRS_CD -- 검사코스코드
, INFO.PAT_NM AS PAT_NM
, INFO.RGNO
, INFO.SEX_CD || '/ ' || FN_WP_GET_PAT_AGE(INFO.PAT_BIRTHDT, OTPT.HE_DT) AS SXGE -- 성별코드 -- 건강검진일자 -- 환자생년월일
FROM V_GRRVMOTPT OTPT -- 건강검진예약기본
, V_WPPIMINFO INFO -- 환자기본
WHERE OTPT.HE_DT = '20230413' -- 건강검진일자
AND OTPT.MDDP_CD = FN_HM_USER_DEPT_CODE('AMIS083')
AND OTPT.HE_STAT_CD IN ('1', '2') -- 건강검진상태코드
AND OTPT.HE_PKG_CLSF_CD != 'CLIC' -- 건강검진패키지분류코드
AND INFO.PATNO = OTPT.PATNO -- 병원등록번호 -- 병원등록번호
ORDER BY 3
이쿼리에서 ORDER BY 3이 왜 있는 거지?
이 쿼리에서 "ORDER BY 3"은 결과를 "OTPT.HE_DT" 컬럼 값 기준으로 정렬하는 것을 나타냅니다.
"ORDER BY" 절은 SELECT 문의 결과를 정렬하는데 사용됩니다. "ORDER BY" 절에는 정렬 기준이 될 컬럼 이름이나 SELECT 절에서 계산된 식의 위치를 지정할 수 있습니다.
여기서 "3"은 SELECT 절에서 세 번째로 선택된 컬럼 "OTPT.HE_DT"를 기준으로 정렬하라는 의미입니다.
따라서 이 쿼리는 건강검진예약기본(OTPT) 테이블과 환자기본(INFO) 테이블을 조인한 후, "HE_DT" 컬럼 값을 기준으로 오름차순 정렬한 결과를 반환합니다.