안녕하세요 선배님들 like 구문에 대해서 궁금한 것이 있어서 질문드립니다. 0 1 1,737

by 김성진 [MySQL] 조건 like join [2022.03.02 12:19:26]



1
현재 아래 사진을 보게되면  대학교를 선택해서 저장하면 제일 위에것을 기준으로 성균관대학교 , 강원대학교 인천대학교 , 서울대학교 가 univers_name 이라는곳에 저장이 됩니다 저장은 최소1개부터 ~ 5개까지 저장이 가능합니다..

mysql 에서 사용한다고 하면  SELECT * from stucondition WHERE univers_name  regexp ' 서울대학교|성균관대학교' 이런식으로 사용하여 부분 조회가 가능하지만

순서가 바뀌어서 SELECT * from stucondition WHERE univers_name  regexp ' 서울대학교 성균관대학교 인하대학교' 이나 

SELECT * from stucondition WHERE univers_name  regexp ' 서울대학교,성균관대학교' 으로 조회를 하면 조회가 안되고 있습니다 

java mybatis 에서 사용을 한다고 하면 postman 으로 사용하면   ' | '  사용해 버리면 404 에러가 뜨게 되어서 엄청 해매고 있습니다... 혹시 mysql 에서 하는 것 처럼 mybatis 에서도 가능한지 여쭈어 보고 싶습니다... 

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
56
57
58
59
60
61
62
63
64
<!-- //학생이 선생님 검색 결과 -->
     
    <!--[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
        ,bb.subject
        ,bb.study_level
        ,bb.school_year                            
        ,bb.study_prepar
        ,coalesce(dd.matching_click, 'N') AS matching_click
        ,(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
    LEFT OUTER JOIN
        matching AS dd
    ON
        cc.user_code = dd.user_code
    WHERE
        bb.subject = #{subject}
    AND
        bb.school_year = #{school_year}
    AND
        bb.study_prepar = #{study_prepar}
    AND
        cc.univers_name  REGEXP ${univers_name}
    AND
        cc.lesson_price  BETWEEN ${first_price} AND ${last_price}
    AND
        cc.user_age   BETWEEN ${first_age} AND ${last_age}
    HAVING distance <= 5
    ]]-->
     
        AND  cc.user_gender = #{user_gender}
     
     
        AND  cc.demo_lesson = #{demo_lesson}
     
     
        AND  cc.face_lesson = #{face_lesson}
     
     
        AND  cc.full_lesson = #{full_lesson}
     
    

여기서 AND cc.univers_name REGEXP ${univers_name} 이부분 입니다. postman 으로 접근시에는 404 에러가 떠서 3일째 해결을 못하고있는데 좋은 방법이 있으면 도움 주시면 감사하겠습니다 ㅠㅠ

 

by 마농 [2022.03.02 13:04:34]

글세요? 쿼리가 처음에 | 로 시작하더니 중간에 , 로 바뀌네요?
, 로 하면 당연히 안되고 | 로 해야 맞죠.
$ 를 쓰는데? # 을 써야 맞을 듯 하구요.

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