본문 바로가기
코딩테스트/programming_SQL

[SQL] 취소되지 않은 진료 예약 조회하기_132204

by prometedor 2023. 11. 17.

테이블 3개 JOIN, DATE_FORMAT 이용하기

 

https://school.programmers.co.kr/learn/courses/30/lessons/132204

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

SELECT a.APNT_NO, c.PT_NAME, c.PT_NO, b.MCDP_CD, b.DR_NAME, a.APNT_YMD
FROM APPOINTMENT a
    JOIN DOCTOR b
    ON a.MDDR_ID = b.DR_ID
    JOIN PATIENT c
    ON a.PT_NO = c.PT_NO
WHERE b.MCDP_CD = 'CS' 
    AND a.APNT_CNCL_YN = 'N'
    AND DATE_FORMAT(a.APNT_YMD, '%Y-%m-%d') = '2022-04-13'
ORDER BY 6;

 

 

문제 사항 1 : 문제에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하라고 했는데, 2022년 4월 13일에 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하려고 하여 정답처리가 되지 않았다.

문제 사항 2 : 1번 문제사항을 해결했지만, 취소가 되지 않았는지에 대해 APNT_CNCL_YN 이 'N' 인지를 확인하는 과정을 생략해서 정답처리가 되지 않았다.

 

문제사항 1 해결 : 2022년 4월 13일에 예약이 있고, 해당 예약이 취소되지 않았으며, 진료과가 'CS'인 경우 예약 정보를 검색하도록 하였다.

문제사항 2 해결 : APNT_CNCL_YN 이 'N' 인지를 확인하는 조건을 추가하여 정답처리를 받을 수 있었다.

 

깨달은 바: 문제에서 원하는 바를 잘 모르겠을 경우 다양한 경우의 조건들을 추가하여 시도해 보자.