간단한 조인쿼리 작성좀 부탁드립니다.

간단한 조인쿼리 작성좀 부탁드립니다.

QA

간단한 조인쿼리 작성좀 부탁드립니다.

본문

 

회원 테이블 member_table
+----+----------+---------------------+---------------------------------------------+
| no |   name   |     dayofweek       |        area                                 | 
+----+----------+---------------------+---------------------------------------------+
  1     길동        월,화,수,목           강남구,강동구,강서구
  2     영희        수,목,금,토           강남구,종로구,마포구,동대문구
  3     순이        수,목,금,토,일        마포구,동대문구,노원구,양천구 
  4     철수        월,수,일              강동구,강북구,노원구,중랑구 

 

오늘 업무 테이블 today_work_table

+----+----------+---------------------+
| no |   today   |     today_area     |   
+----+----------+---------------------+
  1        목          강남구          

 

 

너무 초보적인 질문이라 죄송합니다.

나이먹고 공부하기 쉽지가 않네요 ㅠㅠ

위와 같은  테이블이 2개가 있습니다.

오늘 업무 테이블 today_work_table 을 기준으로 하여 오늘 날짜인 "목" 과 영업지역인 "강남구' 에서

영업가능한 사람을 회원 테이블 member_table에서 추려 내고자 합니다.

 

구하고자 하는것이

1. 목요일 강남구에서 영업 가능한 회원이 몇명인지.

2. 목요일 강남구에서 영업 가능한 회원 이름이 누구누구인지

입니다.

각 쿼리를 어찌 구성해야 할까요?

 

이 질문에 댓글 쓰기 :

답변 2

실무에서 요일이나 지역을 저렇게 한필드에 ,으로 구분해서 넣어두고 like 구문으로 필터링하면 매우 비효율적입니다.
데이터가 적을 때는 별 문제 없지만 데이터가 많아지만 쿼리 성능이 매우 낮아지거든요. 물론 몇십만 몇백만건정도까지도

큰 문데 없이 작동하긴 합니다만...^^; 질문에 충실할 답변을 하자면

 

일단 1번은 2번의 경과의 카운트를 구하시면 될 것 같구요.

2번 기준으로 다음과 같이 작성하시면 작동 할겁니다.

 

select m.name, m.dayofweek, m.area from today_work_table t join member_table m on m.dayofweek like concat ('%', t.today, '%') and m.area like concat('%', t.today_area, '%');

테이블 정규화를 해주세요~

그리고 방문지역은 area1 ~ 5 개 정도로 필드를 나누어 주시는 것이 검색 속도가 향상됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,479 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT