2023.04.14(ORDER BY 3)

SaGo_MunGcci·2023년 4월 14일
0

Oracle

목록 보기
9/12

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" 컬럼 값을 기준으로 오름차순 정렬한 결과를 반환합니다.
profile
이리저리 생각만 많은 사고뭉치입니다.

0개의 댓글