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

게으른 완벽주의자·2023년 2월 10일
0

프로그래머스

목록 보기
70/83

프로그래머스_취소되지 않은 진료 예약 조회하기

SELECT A.APNT_NO, P.PT_NAME, A.PT_NO, A.MCDP_CD, D.DR_NAME, A.APNT_YMD
FROM APPOINTMENT AS A
INNER JOIN PATIENT AS P ON A.PT_NO = P.PT_NO
INNER JOIN DOCTOR AS D ON A.MDDR_ID = D.DR_ID
WHERE DATE_FORMAT(A.APNT_YMD, '%Y-%m-%d') = '2022-04-13' AND A.MCDP_CD = 'CS' AND A.APNT_CNCL_YN = 'N'
#WHERE DATE(A.APNT_YMD) = '2022-04-13' AND A.MCDP_CD = 'CS' AND A.APNT_CNCL_YN = 'N'
#WHERE A.APNT_YMD = '2022-04-13%' AND A.MCDP_CD = 'CS' AND A.APNT_CNCL_YN = 'N'
ORDER BY A.APNT_YMD

3개의 테이블 모두 필요 -> INNER JOIN 2개
여기서 애를 먹었던건 WHERE 조건문 중에서 날짜였는데, DATE FORMAT을 맞춰주거나 DATE 형식으로 확인해줘야만 맞는다
아마도 A.APNT_YMD = '2022-04-13%'가 틀린 이유는 APNT_YMD가 DATE 형식인데, '2022-04-13%'가 문자열이라 그런 것 같다

+) 틀린 이유가 문자열이랑 DATE 때문이 아니라 A.APNT_YMD LIKE '2022-04-13%'로 써줘야했다. 글을 쓰고나서 알았다 바부멍청..

profile
데이터를 공부하고 있습니다

0개의 댓글