프로그래머스 풀이

[프로그래머스 SQL] 취소되지 않은 진료 예약 조회하기 (ORACLE)

홀든콜필드 2025. 2. 18. 00:12
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/132204?language=oracle

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

3개의 테이블을 조인하고 날짜를 조회하면 되는 문제

 

날짜를 처리하는 것 외에는 어렵지 않았다.

 

오라클 문법으론 

 

날짜에 TRUNC(시각컬럼)을 해주면 시간은 무시하고 '2025-02-18' 형태로 잡을 수 있다.

 

SELECT A.APNT_NO, PT_NAME, PATIENT.PT_NO, A.MCDP_CD, A.DR_NAME, A.APNT_YMD FROM 
(
    SELECT 
    APPOINTMENT.APNT_YMD,
    APPOINTMENT.APNT_NO, 
    APPOINTMENT.PT_NO, 
    APPOINTMENT.MCDP_CD,
    DOCTOR.DR_NAME
    FROM APPOINTMENT, DOCTOR 
    WHERE APPOINTMENT.MDDR_ID = DOCTOR.DR_ID
    AND APPOINTMENT.MCDP_CD = 'CS'
    AND APPOINTMENT.APNT_CNCL_YN = 'N'
) A, PATIENT
WHERE A.PT_NO = PATIENT.PT_NO
AND TRUNC(A.APNT_YMD) = TO_DATE('2022-04-13', 'YYYY-MM-DD') 
ORDER BY A.APNT_YMD;