From 3e13df09d8862f00e299276f7394d0356b672ec4 Mon Sep 17 00:00:00 2001 From: SSUM <116950962+ssum21@users.noreply.github.com> Date: Wed, 5 Mar 2025 15:52:21 +0900 Subject: [PATCH] =?UTF-8?q?[level=204]=20Title:=20=EC=B7=A8=EC=86=8C?= =?UTF-8?q?=EB=90=98=EC=A7=80=20=EC=95=8A=EC=9D=80=20=EC=A7=84=EB=A3=8C=20?= =?UTF-8?q?=EC=98=88=EC=95=BD=20=EC=A1=B0=ED=9A=8C=ED=95=98=EA=B8=B0,=20Ti?= =?UTF-8?q?me:=200.00=20ms,=20Memory:=200.0=20MB=20-BaekjoonHub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md | 350 ++++++++++++++++++ .../취소되지 않은 진료 예약 조회하기.sql | 7 + 2 files changed, 357 insertions(+) create mode 100644 프로그래머스/4/132204. 취소되지 않은 진료 예약 조회하기/README.md create mode 100644 프로그래머스/4/132204. 취소되지 않은 진료 예약 조회하기/취소되지 않은 진료 예약 조회하기.sql diff --git a/프로그래머스/4/132204. 취소되지 않은 진료 예약 조회하기/README.md b/프로그래머스/4/132204. 취소되지 않은 진료 예약 조회하기/README.md new file mode 100644 index 0000000..27f5383 --- /dev/null +++ b/프로그래머스/4/132204. 취소되지 않은 진료 예약 조회하기/README.md @@ -0,0 +1,350 @@ +# [level 4] 취소되지 않은 진료 예약 조회하기 - 132204 + +[문제 링크](https://school.programmers.co.kr/learn/courses/30/lessons/132204) + +### 성능 요약 + +메모리: 0.0 MB, 시간: 0.00 ms + +### 구분 + +코딩테스트 연습 > String, Date + +### 채점결과 + +Empty + +### 제출 일자 + +2025년 03월 05일 15:52:19 + +### 문제 설명 + +

다음은 환자 정보를 담은 PATIENT 테이블과 의사 정보를 담은 DOCTOR 테이블, 그리고 진료 예약목록을 담은 APPOINTMENT에 대한 테이블입니다. PATIENT 테이블은 다음과 같으며 PT_NO, PT_NAME, GEND_CD, AGE, TLNO는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Column nameTypeNullable
PT_NOVARCHAR(N)FALSE
PT_NAMEVARCHAR(N)FALSE
GEND_CDVARCHAR(N)FALSE
AGEINTEGERFALSE
TLNOVARCHAR(N)TRUE
+

DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO, HIRE_YMD, MCDP_CD, TLNO는 각각 의사이름, 의사ID, 면허번호, 고용일자, 진료과코드, 전화번호를 나타냅니다.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Column nameTypeNullable
DR_NAMEVARCHAR(N)FALSE
DR_IDVARCHAR(N)FALSE
LCNS_NOVARCHAR(N)FALSE
HIRE_YMDDATEFALSE
MCDP_CDVARCHAR(N)TRUE
TLNOVARCHAR(N)TRUE
+

APPOINTMENT 테이블은 다음과 같으며 APNT_YMD, APNT_NO, PT_NO, MCDP_CD, MDDR_ID, APNT_CNCL_YN, APNT_CNCL_YMD는 각각 진료 예약일시, 진료예약번호, 환자번호, 진료과코드, 의사ID, 예약취소여부, 예약취소날짜를 나타냅니다.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Column nameTypeNullable
APNT_YMDTIMESTAMPFALSE
APNT_NOINTEGERFALSE
PT_NOVARCHAR(N)FALSE
MCDP_CDVARCHAR(N)FALSE
MDDR_IDVARCHAR(N)FALSE
APNT_CNCL_YNVARCHAR(N)TRUE
APNT_CNCL_YMDDATETRUE
+
+ +
문제
+ +

PATIENT, DOCTOR 그리고 APPOINTMENT 테이블에서 2022년 4월 13일 취소되지 않은 흉부외과(CS) 진료 예약 내역을 조회하는 SQL문을 작성해주세요. 진료예약번호, 환자이름, 환자번호, 진료과코드, 의사이름, 진료예약일시 항목이 출력되도록 작성해주세요. 결과는 진료예약일시를 기준으로 오름차순 정렬해주세요.

+ +
+ +
예시
+ +

PATIENT 테이블이 다음과 같고,

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PT_NOPT_NAMEGEND_CDAGETLNO
PT22000019바라W1001079068799
PT22000043오스왈드M6801031294124
PT22000052제니W60NULL
PT22000071몬몬M3101076489209
PT22000097슈가M19NULL
+

DOCTOR 테이블이 다음과 같고,

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DR_NAMEDR_IDLCNS_NOHIRE_YMDMCDP_CDTLNO
루피DR20090029LC000100012009-03-01CS01085482011
니모DR20200012LC009111622020-03-01CS01089483921
핑크퐁DR20140011LC000822012014-03-01NP01098428957
젤라비DR20160031LC003403272016-11-01OB01023981922
토리DR20190129LC000999112019-03-01NS01058390758
+

APPOINTMENT 테이블이 다음과 같을 때,

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
APNT_YMDAPNT_NOPT_NOMCDP_CDMDDR_IDAPNT_CNCL_YNAPNT_CNCL_YMD
2022-04-13 12:30:00.00000042PT22000071CSDR20090029NNULL
2022-04-13 15:30:00.00000043PT22000019CSDR20200012NNULL
2022-04-13 09:00:00.00000046PT22000043CSDR20090029NNULL
2022-07-09 11:00:00.00000074PT22000042NPDR20100011NNULL
2022-12-13 12:30:00.000000110PT22000097NPDR20160011Y2022-12-03
+

SQL을 실행하면 다음과 같이 출력되어야 합니다.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
APNT_NOPT_NAMEPT_NOMCDP_CDDR_NAMEAPNT_YMD
46오스왈드PT22000043CS루피2022-04-13 09:00:00.000000
42몬몬PT22000071CS루피2022-04-13 12:30:00.000000
43바라PT22000019CS니모2022-04-13 15:30:00.000000
+ +> 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges \ No newline at end of file diff --git a/프로그래머스/4/132204. 취소되지 않은 진료 예약 조회하기/취소되지 않은 진료 예약 조회하기.sql b/프로그래머스/4/132204. 취소되지 않은 진료 예약 조회하기/취소되지 않은 진료 예약 조회하기.sql new file mode 100644 index 0000000..9d4d582 --- /dev/null +++ b/프로그래머스/4/132204. 취소되지 않은 진료 예약 조회하기/취소되지 않은 진료 예약 조회하기.sql @@ -0,0 +1,7 @@ +-- 코드를 입력하세요 +SELECT AP.APNT_NO AS APNT_NO, PT.PT_NAME,PT.PT_NO , AP.MCDP_CD, DR.DR_NAME, AP.APNT_YMD +FROM APPOINTMENT AS AP +JOIN PATIENT AS PT ON AP.PT_NO = PT.PT_NO +JOIN DOCTOR AS DR ON AP.MDDR_ID = DR.DR_ID +WHERE AP.MCDP_CD = 'CS' AND AP.APNT_YMD >= DATE('2022-04-13') AND AP.APNT_YMD < DATE('2022-04-14') AND AP.APNT_CNCL_YN = 'N' +ORDER BY AP.APNT_YMD ASC \ No newline at end of file