본문 바로가기
프로그래머스/[프로그래머스 - ORACLE] Lv.4

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

by 코딩하는 흰둥이 2023. 3. 23.
반응형


CREATE 문
CREATE TABLE PATIENT     (
PT_NO				VARCHAR(30)	NOT NULL,
PT_NAME				VARCHAR(30)	NOT NULL,
GEND_CD				VARCHAR(30)	NOT NULL,
AGE				NUMBER		NOT NULL,
TLNO				VARCHAR(30)	NULL
)


CREATE TABLE DOCTOR    (
DR_NAME				VARCHAR(30)	NOT NULL,
DR_ID				VARCHAR(30)	NOT NULL,
LCNS_NO				VARCHAR(30)	NOT NULL,
HIRE_YMD			DATE		NOT NULL,
MCDP_CD				VARCHAR(30)	NULL,
TLNO				VARCHAR(30)	NULL
)

CREATE TABLE APPOINTMENT (
APNT_YMD			TIMESTAMP	NOT NULL,
APNT_NO				INTEGER		NOT NULL,
PT_NO				VARCHAR(N)	NOT NULL,
MCDP_CD				VARCHAR(N)	NOT NULL,
MDDR_ID				VARCHAR(N)	NOT NULL,
APNT_CNCL_YN			VARCHAR(N)	NULL,
APNT_CNCL_YMD			DATE		NULL
)

  • 내 풀이
-- 코드를 입력하세요
SELECT
    A.APNT_NO,
    P.PT_NAME,
    A.PT_NO,
    A.MCDP_CD,
    D.DR_NAME,
    A.APNT_YMD
FROM APPOINTMENT A INNER JOIN PATIENT P
    ON A.PT_NO = P.PT_NO
    INNER JOIN DOCTOR D
    ON A.MDDR_ID = D.DR_ID
AND A.APNT_CNCL_YN ='N'
AND A.MCDP_CD = 'CS'
AND TO_CHAR(A.APNT_YMD, 'YYYY-MM-DD') = '2022-04-13'
ORDER BY A.APNT_YMD ASC;

문제 너무 지저분하게 준다....

댓글