안녕하세요 현재 앱개발을 하고 있는 초보 개발자 입니다... 현재 검색기능을 하고있는데 궁금한 것이 있어서 올립니다.. 도움 주시면 감사하겠습니다
현재 테이블 안에 컬럼이
선생님 학생
user_age first_age, last_age
lesson_price first_price, last_price
이렇게 학생, 선생님이 서로쓰는 컬럼이 다릅니다..
user_age, lesson_price는 선생님의 나이와 레슨 비용에 대한 컬럼이고
first_age, last_age first_price, last_price first , last 로 구분하여 학생이 선생님을 검색을 할 때 범위 계산을 위한 컬럼인데요
AND
cc.lesson_price BETWEEN ${first_price} AND ${last_price}
AND
cc.user_age BETWEEN ${first_age} AND ${last_age}
first_price 부터~ last_price 까지 포함하는 가격
first_age 부터~ last_age 까지 포함하는 나이 이런식으로 계산을 하였는데요
만약 반대로 선생님이 학생을 조회하려면
user_age 와 lesson_price 로 검색을 해야하는데 어떤식으로 쿼리를 짜면 좋을까요? 오늘 생각을 해보았는데 도통 떠오르지 않아서 .. 질문 올립니다.. 도와주시면 감사하겠습니다..
학생이 선생님 조회하는 쿼리입니다.. 도와주시면 감사하겠습니다!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <! --[CDATA[ SELECT cc.user_code ,cc.user_age ,cc.lesson_price ,cc.user_gender ,cc.demo_lesson ,cc.face_lesson ,cc.full_lesson ,cc.univers_name ,aa.user_nick ,aa.user_photo ,aa.mylocation ,aa.user_delete ,bb.subject ,bb.study_level ,bb.school_year ,bb.study_prepar ,(6371*acos(cos(RADIANS(${latitude}))*cos(radians(latitude))*cos(radians(longitude) -RADIANS(${longitude}))+sin(RADIANS(${latitude}))*sin(radians(latitude)))) AS distance FROM stucondition AS cc LEFT OUTER JOIN subjects AS bb ON cc.subject_code = bb.subject_code JOIN user AS aa ON aa.user_code = cc.user_code WHERE bb.subject = #{subject} AND bb.school_year = #{school_year} AND bb.study_prepar = #{study_prepar} AND cc.univers_name = #{univers_name} AND cc.user_gender = #{user_gender} AND cc.lesson_price BETWEEN ${first_price} AND ${last_price} AND cc.user_age BETWEEN ${first_age} AND ${last_age} AND cc.demo_lesson = #{demo_lesson} AND cc.face_lesson = #{face_lesson} AND cc.full_lesson = #{full_lesson} AND aa.user_delete = #{user_delete} HAVING distance <= 5 ]] --> |