728x90
๋ฐ์ํ
๐ฉบ ์ทจ์๋์ง ์์ ํ๋ถ์ธ๊ณผ ์ง๋ฃ ์์ฝ ์กฐํํ๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/132204
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก์ Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
๐ ๋ฌธ์ ์์ฝ
- PATIENT, DOCTOR, APPOINTMENT ํ ์ด๋ธ ํ์ฉ
- 2022๋ 4์ 13์ผ์ ์์ฝ๋, ์ทจ์๋์ง ์์ ํ๋ถ์ธ๊ณผ(CS) ์ง๋ฃ ์์ฝ ๋ด์ญ ์กฐํ
- ์ถ๋ ฅ ํญ๋ชฉ: ์ง๋ฃ์์ฝ๋ฒํธ(APNT_NO), ํ์์ด๋ฆ(PT_NAME), ํ์๋ฒํธ(PT_NO), ์ง๋ฃ๊ณผ์ฝ๋(MCDP_CD), ์์ฌ์ด๋ฆ(DR_NAME), ์ง๋ฃ์์ฝ์ผ์(APNT_YMD)
- ๊ฒฐ๊ณผ๋ ์ง๋ฃ์์ฝ์ผ์ ๊ธฐ์ค ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
๐ง ํ์ด ํ๋ฆ
- APPOINTMENT ํ
์ด๋ธ์์
APNT_YMD
๊ฐ 2022-04-13์ธ ๋ฐ์ดํฐ ํํฐ๋ง - ์ง๋ฃ๊ณผ์ฝ๋๊ฐ 'CS'(ํ๋ถ์ธ๊ณผ)์ธ ์กฐ๊ฑด ์ถ๊ฐ
- ์์ฝ์ทจ์์ฌ๋ถ๋ ์ทจ์๋์ง ์์ ์์ฝ๋ง (์์ฝ์ทจ์๋ ์ง(APNT_CNCL_YMD) NULL์ธ ๊ฒฝ์ฐ)
- PATIENT, DOCTOR ํ ์ด๋ธ๊ณผ ์กฐ์ธํ์ฌ ํ์๋ช , ์์ฌ๋ช ๋ฑ ํ์ํ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
- ๊ฒฐ๊ณผ๋ฅผ ์ง๋ฃ์์ฝ์ผ์(APNT_YMD) ๊ธฐ์ค ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
๐ป ์ต์ข SQL ์ฝ๋
SELECT
A.APNT_NO,
P.PT_NAME,
P.PT_NO,
A.MCDP_CD,
D.DR_NAME,
A.APNT_YMD
FROM APPOINTMENT A
JOIN PATIENT P ON A.PT_NO = P.PT_NO
JOIN DOCTOR D ON A.MDDR_ID = D.DR_ID
WHERE DATE_FORMAT(A.APNT_YMD, '%Y-%m-%d') = '2022-04-13'
AND A.MCDP_CD = 'CS'
AND A.APNT_CNCL_YMD IS NULL
ORDER BY A.APNT_YMD ASC;
๐ ํต์ฌ ํฌ์ธํธ
DATE_FORMAT
ํจ์๋ฅผ ์ด์ฉํด TIMESTAMP ํ์ ์APNT_YMD
์์ ๋ ์ง๋ง ์ถ์ถ- ์ทจ์ ์ฌ๋ถ๋
APNT_CNCL_YMD IS NULL
์กฐ๊ฑด์ผ๋ก ์ฒดํฌ - ์ธ ํ ์ด๋ธ์ JOINํ์ฌ ์์ฝ, ํ์, ์์ฌ ์ ๋ณด ๋ชจ๋ ์ถ๋ ฅ
- ์ ๋ ฌ ์กฐ๊ฑด์ ์ง๋ฃ์์ฝ์ผ์ ๊ธฐ์ค ์ค๋ฆ์ฐจ์
โจ ๊ฒฐ๊ณผ ์์
APNT_NO | PT_NAME | PT_NO | MCDP_CD | DR_NAME | APNT_YMD |
---|---|---|---|---|---|
46 | ์ค์ค์๋ | PT22000043 | CS | ๋ฃจํผ | 2022-04-13 09:00:00.000000 |
42 | ๋ชฌ๋ชฌ | PT22000071 | CS | ๋ฃจํผ | 2022-04-13 12:30:00.000000 |
43 | ๋ฐ๋ผ | PT22000019 | CS | ๋๋ชจ | 2022-04-13 15:30:00.000000 |
728x90
๋ฐ์ํ
๋๊ธ