SQL/ORACLE.
[Oracle] 취소되지 않은 진료 예약 조회하기
devz0
2023. 4. 25. 00:08
728x90
문제
PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요.
Pseudo Code
- 3개의 테이블 조인
- APNT_YMD 컬럼이 20220413 이고 MCDP_CD이 CS이고 APNT_CNCL_YN가 N인 데이터가 나오도록 필터링
- 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목 추출
- APNT_CNCL_YN 기준 ASC
내코드
SELECT
A.APNT_NO,
P.PT_NAME,
P.PT_NO,
D.MCDP_CD ,
D.DR_NAME,
A.APNT_YMD
FROM APPOINTMENT A
LEFT JOIN PATIENT P
ON P.PT_NO = A.PT_NO
LEFT JOIN DOCTOR D
ON D.DR_ID = A.MDDR_ID
WHERE D.MCDP_CD = 'CS'
AND TO_CHAR(A.APNT_YMD, 'YYYYMMDD') = '20220413'
AND APNT_CNCL_YN = 'N'
ORDER BY A.APNT_YMD
👉🏻 처음에 문제 잘 안읽고 DOCTOR 테이블과 조인할때 DR_ID가 없길래 일치하는 컬럼이 MCDP_CD 인줄알고 이 컬럼으로 조인했다가 데이터가 이상하게 나와서 뻘짓했다. ㅎ3ㅎ
728x90
반응형