728x90
힌트
1. 테이블 간의 조인
- PATIENT, APPOINTMENT, DOCTOR 테이블을 이용해 환자, 예약, 의사 정보를 결합해 조회합니다.
- 환자와 예약 정보는 PT_NO를 기준으로 조인하고, 예약 정보와 의사는 MDDR_ID(의사 ID)를 기준으로 조인합니다.
2. 예약 조건
- 예약 날짜는 '2022-04-13'로 지정되어 있으며, 이 날짜에 해당하는 예약을 찾습니다.
- 진료과목은 'CS'(예: 외과)로 필터링하며, 해당 과목에 해당하는 의사를 선택합니다.
- 예약 취소 여부가 'N'인 예약만 포함해, 취소되지 않은 예약만 조회합니다.
3. 정렬
- 결과는 예약 날짜를 기준으로 오름차순으로 정렬됩니다.
정답은 더보기 클릭
더보기
더보기
SELECT A.APNT_NO, P.PT_NAME, A.PT_NO, A.MCDP_CD, D.DR_NAME, A.APNT_YMD
-- PATIENT(환자 테이블), APPOINTMENT(예약 테이블), DOCTOR(의사 테이블)을 사용하여 환자 예약 정보를 조회합니다.
FROM PATIENT P
JOIN APPOINTMENT A
-- 환자 번호(PT_NO)를 기준으로 환자와 예약 테이블을 조인합니다.
ON P.PT_NO = A.PT_NO
JOIN DOCTOR D
-- 예약 테이블에서 의사 ID(MDDR_ID)를 기준으로 의사 테이블과 조인합니다.
ON D.DR_ID = A.MDDR_ID
-- 예약 날짜가 2022년 4월 13일이고
WHERE TO_CHAR(A.APNT_YMD, 'YYYYMMDD') = '20220413'
-- 진료과목 코드(MCDP_CD)가 'CS'(예: 외과)이며,
AND D.MCDP_CD = 'CS'
-- 예약 취소 여부(APNT_CNCL_YN)가 'N'인 예약을 조회합니다.
AND APNT_CNCL_YN = 'N'
-- 예약 일자를 기준으로 오름차순 정렬합니다.
ORDER BY APNT_YMD
728x90
'프로그래머스(Oracle)' 카테고리의 다른 글
[프로그래머스 (Oracle)] 년, 월, 성별 별 상품 구매 회원 수 구하기 (1) | 2024.10.05 |
---|---|
[프로그래머스 (Oracle)] 즐겨찾기가 가장 많은 식당 정보 출력하기 (1) | 2024.10.05 |
[프로그래머스 (Oracle)] 서울에 위치한 식당 목록 출력하기 (2) | 2024.10.03 |
[프로그래머스 (Oracle)] 5월 식품들의 총매출 조회하기 (0) | 2024.10.03 |
[프로그래머스 (Oracle)] 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 (1) | 2024.10.02 |