https://school.programmers.co.kr/learn/courses/30/lessons/132204
3가지의 테이블을 합치고, 지정된 조건에 적합한 데이터를 조회하는 문제입니다.
일단 3개의 칼럼을 보고 공통 조건으로 합쳐 줄 수 있는 값을 찾아야하는데요.
이것은 환자의 정보가 담긴 테이블입니다.
이것은 의사 정보가 담긴 테이블입니다.
이것은 진료 예약목록 정보가 담긴 테이블입니다.
환자 정보 테이블과 의사 정보 담긴 테이블은 서로 공통적인 컬럼을 가지고 있지 않으므로, 진료 예약목록 정보가 담긴 테이블을 기준으로 합쳐줘야하는데요.
진료 예약 목록을 A 로 두고 환자정보 테이블을 B로 두고, 공통적인 컬럼
환자정보 기준으로 합쳐줍니다. 합쳐준 데이터에 또 의사 정보를 C로 두고 공통적인 컬럼 진료 예약 목록의 의사 id 기준으로 합쳐줍니다. 이때 A 테이블의 의사 아이디 컬럼은 mddr_id로 되어 있습니다. 합쳐줄때 칼럼명을 확인 후 합쳐줘야합니다.
이제 지정된 조건, 2022년 04월 13일에 예약이 취소 되지 않는 흉부외과 진료 내역을 조회해주고, 진료예약일시 기준으로 정렬해주면 정답입니다.
SELECT apnt_no,pt_name,A.pt_no,C.mcdp_cd,C.dr_name,apnt_ymd
FROM appointment A JOIN patient B ON A.pt_no = B.pt_no join doctor C ON A.mddr_id = C.dr_id
WHERE date_format(apnt_ymd,"%Y-%m-%d") = '2022-04-13' AND apnt_cncl_yn = "N" AND C.mcdp_cd = 'CS'
ORDER BY apnt_ymd