๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
MYSQL

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV.04] MYSQL ์ทจ์†Œ๋˜์ง€ ์•Š์€ ํ‰๋ถ€์™ธ๊ณผ ์ง„๋ฃŒ ์˜ˆ์•ฝ ์กฐํšŒํ•˜๊ธฐ

by hello_world.cpp 2025. 5. 19.
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)
  • ๊ฒฐ๊ณผ๋Š” ์ง„๋ฃŒ์˜ˆ์•ฝ์ผ์‹œ ๊ธฐ์ค€ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

๐Ÿง  ํ’€์ด ํ๋ฆ„

  1. APPOINTMENT ํ…Œ์ด๋ธ”์—์„œ APNT_YMD๊ฐ€ 2022-04-13์ธ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง
  2. ์ง„๋ฃŒ๊ณผ์ฝ”๋“œ๊ฐ€ 'CS'(ํ‰๋ถ€์™ธ๊ณผ)์ธ ์กฐ๊ฑด ์ถ”๊ฐ€
  3. ์˜ˆ์•ฝ์ทจ์†Œ์—ฌ๋ถ€๋Š” ์ทจ์†Œ๋˜์ง€ ์•Š์€ ์˜ˆ์•ฝ๋งŒ (์˜ˆ์•ฝ์ทจ์†Œ๋‚ ์งœ(APNT_CNCL_YMD) NULL์ธ ๊ฒฝ์šฐ)
  4. PATIENT, DOCTOR ํ…Œ์ด๋ธ”๊ณผ ์กฐ์ธํ•˜์—ฌ ํ™˜์ž๋ช…, ์˜์‚ฌ๋ช… ๋“ฑ ํ•„์š”ํ•œ ์ •๋ณด ๊ฐ€์ ธ์˜ค๊ธฐ
  5. ๊ฒฐ๊ณผ๋ฅผ ์ง„๋ฃŒ์˜ˆ์•ฝ์ผ์‹œ(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
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€