Oracle SQL쿼리 질문 있습니다. 0 2 2,279

by 오캬 [SQL Query] SQL Oracle [2021.01.26 19:03:42]


학습용으로 병원에 대한 프로젝트를 진행 중인데 어떻게 해야할지 잘 몰라서 질문을 드리려고 합니다.

일단 질문이 잘 이해가 되실지는 모르겠습니다만.... 질문을 드리자면

 

-> 제가 출력하고 싶은 부분은

한 달(혹은 1년)간 병명(SICKNESS_NAME) 이 '감기'인 환자가(또는 그 환자 수) 타고 온 후송수단(eva_category_name)

를 출력하려 합니다. 이에 대해서 필요할 것 같은 부분만 써드리자면

            테이블                              ||          컬럼

SICKNESS(질병)                                    ||  SKICNESS_ID, SKICNESS_NAME

EMT_SICKNESS(진료병명)                    ||  EMT_SICKNESS_ID, SICKNESS_ID(FK)

EMT(진료)                                            ||  EMT_ID, RECEPTION_ID(FK)

RECEPTION(접수)                                 ||  RECEPTION_ID, PATIENT_ID(FK), EVA_CATEGORY_ID(FK)

PATIENT(환자)                                      ||  PATIENT_ID, PAT_NAME

EVACUATION_CATEGORY(후송수단)   || EVA_CATEGORY_ID, EVA_CATEGORY_NAME

 

정도 일 듯 싶은데요. 간단해 보이는 것 같으면서도 막상해보니 쉽지가 않더라구요... 도와주세요ㅜ

by 마농 [2021.01.27 08:47:13]
SELECT p.pat_name
     , ec.eva_category_name
  FROM sickness            s
     , emt_sickness        es
     , emt                 e
     , reception           r
     , patient             p
     , evacuation_category ec
 WHERE s.sickness_id     = es.sickness_id
   AND es.emt_id         = e.emt_id
   AND e.reception_id    = r.reception_id
   AND r.patient_id      = p.patient_id
   AND r.eva_category_id = ec.eva_category_id
   AND s.sickness_name   = '감기'
;

SELECT p.pat_name
     , ec.eva_category_name
  FROM sickness s
 INNER JOIN emt_sickness        es ON s.sickness_id     = es.sickness_id
 INNER JOIN emt                 e  ON es.emt_id         = e.emt_id
 INNER JOIN reception           r  ON e.reception_id    = r.reception_id
 INNER JOIN patient             p  ON r.patient_id      = p.patient_id
 INNER JOIN evacuation_category ec ON r.eva_category_id = ec.eva_category_id
 WHERE s.sickness_name = '감기'
;

 


by 오캬 [2021.01.27 10:36:33]

일어나서 테이블이랑 게시글이랑 보다보니 emt_sickness에도 emt_id가 있었는데 빼먹고 못적었는데 해주셨네요... 감사합니다ㅜ

여러 테이블에 있을 때 조인을 어떻게 해야 값이 나오는지 이해가 잘 안됐는데, 이렇게 조인을 들어가야 나온다는 걸 배우고 갑니다, 감사합니다!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입