- 취소되지 않은 진료 예약 조회하기
문제
PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드,
의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요.
PATIENT 테이블이 다음과 같고,
PT_NOPT_NAMEGEND_CDAGETLNOPT22000019 | 바라 | W | 10 | 01079068799 |
PT22000043 | 오스왈드 | M | 68 | 01031294124 |
PT22000052 | 제니 | W | 60 | NULL |
PT22000071 | 몬몬 | M | 31 | 01076489209 |
PT22000097 | 슈가 | M | 19 | NULL |
DOCTOR 테이블이 다음과 같고,
DR_NAMEDR_IDLCNS_NOHIRE_YMDMCDP_CDTLNO
루피 | DR20090029 | LC00010001 | 2009-03-01 | CS | 01085482011 |
니모 | DR20200012 | LC00911162 | 2020-03-01 | CS | 01089483921 |
핑크퐁 | DR20140011 | LC00082201 | 2014-03-01 | NP | 01098428957 |
젤라비 | DR20160031 | LC00340327 | 2016-11-01 | OB | 01023981922 |
토리 | DR20190129 | LC00099911 | 2019-03-01 | NS | 01058390758 |
APPOINTMENT 테이블이 다음과 같을 때,
APNT_YMDAPNT_NOPT_NOMCDP_CDMDDR_IDAPNT_CNCL_YNAPNT_CNCL_YMD
2022-04-13 12:30:00.000000 | 42 | PT22000071 | CS | DR20090029 | N | NULL |
2022-04-13 15:30:00.000000 | 43 | PT22000019 | CS | DR20200012 | N | NULL |
2022-04-13 09:00:00.000000 | 46 | PT22000043 | CS | DR20090029 | N | NULL |
2022-07-09 11:00:00.000000 | 74 | PT22000042 | NP | DR20100011 | N | NULL |
2022-12-13 12:30:00.000000 | 110 | PT22000097 | NP | DR20160011 | Y | 2022-12-03 |
-- 4월 13일이 진료자 중에 취소하지 않은 환자
SELECT C.APNT_NO , C.PT_NAME ,C.PT_NO ,C.MCDP_CD ,C.DR_NAME ,C.APNT_YMD
FROM (
-- 3개 테이블 조인
SELECT A.APNT_NO , P.PT_NAME ,P.PT_NO ,D.MCDP_CD
,D.DR_NAME ,A.APNT_YMD ,A.APNT_CNCL_YN
FROM APPOINTMENT A
JOIN PATIENT P
JOIN DOCTOR D
ON A.PT_NO = P.PT_NO
AND A.MDDR_ID = D.DR_ID
) C
-- 조건은 INLINE에서 처리 해도 상관 없다,
WHERE C.APNT_CNCL_YN = 'N'
AND DATE(C.APNT_YMD) = '2022-04-13' -- DATE_FORMAT보다 편하다. DATE는 자동으로 YMD를 지정해준다
AND C.MCDP_CD LIKE '%CS'
ORDER BY C.APNT_YMD
정답
APNT_NOPT_NAMEPT_NOMCDP_CDDR_NAMEAPNT_YMD
43 | 바라 | PT22000019 | CS | 니모 | 2022-04-13 15:30:00 |
'SQL > 프로그래머스' 카테고리의 다른 글
SQL 프로그래머스 3일차_ GROUP BY,DATE, JOIN 3번 (0) | 2022.12.31 |
---|---|
SQL 프로그래머스 3일차_3 IN , RGEXP 여러 특정 단어 찾기 (0) | 2022.12.29 |
SQL 프로그래머스 3일차JOIN, INLINE VIEW, RORND (0) | 2022.12.29 |
SQL프로그래머스 2일차_6 INLINE VIEW (0) | 2022.12.28 |
SQL 프로그래머스 2일차_5 다중 LIKE 조건 (0) | 2022.12.28 |