제목 | mysql select 질문이요.. ㅠㅠ (고수님들! help) | ||
---|---|---|---|
글쓴이 | 닉 | 작성시각 | 2013/11/27 17:57:09 |
|
|||
pd_kw_nos라는 컬럼의 데이터를 10|11|1 식으로 저장을 했습니다. 데이터는 10 10|11 10|12|13 1|2|10 이런식으로 들어가 있는데.. ` | `를 구분으로 양 옆의 데이터가 전부 키워드테이블의 프라이머리키입니다. 이 때, 1의 데이터를 like 구문으로 select 하게 되면 10 10|11 10|12|13 1|2|10 가 나오잖아요 .. 이때 다른 구문을 써서 값만 1|2|10 select 할 수 있는 방법이 있을까요? |
|||
다음글 | ERR_EMPTY_RESPONSE 에러에 대해 (1) | ||
이전글 | echo json_encode("a"... (4) | ||
헛발이
/
2013/11/27 18:02:43 /
추천
0
|
닉
/
2013/11/27 18:08:40 /
추천
0
헛발이 //
상품테이블과 상품키워드 테이블이 있습니다. 상품 테이블에 키워드를 저장하는데 저장할때 위와 같이 1|10 이런식으로 저장을 합니다. 이때 1, 10은 각 각 키워드의 프라이머리키로 1이 배추 10이 양상추등 이런식으로 저장하고 검색시 배추를 검색하면 1의 데이터만 불러와야 하는데 값을 1|10 이런식으로 저장해서 like구문으로 select 해올 수 없어서 질문을 올렸습니다. mysql 정규식을 검색해 볼게요 감사합니다 ^^ |
닉
/
2013/11/27 18:28:05 /
추천
0
제 실력으로는 정규식으로 풀기가 어려울거 같아요
pd_kw_nos라는 컬럼의 데이터가 10|11 11 10 10 10 11 10|11|12 이렇게 들어가 있습니다. 이때 검색을 1로 검색을 했을때 위 데이터가 하나도 안나오고 10으로 검색하면 10|11 10 10 10 10|11|12 이런 데이터가 나오게 select 하고 싶어요.. 나중에 데이터가 100이란 데이터가 들어갈 수 있는데 10을 검색 시 100을 포함한 데이터가 나오면 안되서 그래요 ㅠㅠ 100이란 데이터는 100으로만 검색이 되야 하고 |를 기준으로 양 옆의 데이터가 전부 데이터에요 ㅠㅠ 도와주세요// |
닉
/
2013/11/27 18:40:51 /
추천
0
데이터를 |로 explode 해서 select 할 순 없나요 ?
예를 들면 1을 검색하면 1|10은 검색되고 10|11은 검색 안되게 ... ㅠㅠ |
한대승(불의회상)
/
2013/11/27 18:54:04 /
추천
0
1로 검색할때
like '1|%' 10로 검색할때 like '10|%' 하면 되지 않나요? |
변종원(웅파)
/
2013/11/27 18:54:46 /
추천
0
처음부터 잘못(?) 된건데요? 구조를 잘못 만들었습니다.
상품테이블, 상품-키워드 매칭테이블, 키워드테이블 1 1-1 1 1-2 2 이런 구조가 되어야 검색이 용이합니다. explode는 php단이죠. |
키
/
2013/11/27 21:33:54 /
추천
0
쌓인 데이터가 많지 않다면 테이블 정규화를 새로 하시는 것이 훨씬 더 나을 것 같고
굳이 지금 상황을 꼭 유지해야 한다면 where ~~~ and ( key like '$keyword|%' or key like '%|$keyword|%' or key like '%|$keyword') 로 구해올 수는 있겠네요.... 아니면 데이터를 조금만 가공해서 저장된 데이터의 처음과 끝에도 | 를 넣어주신 이후에 key like '%|$keyword|%' 만 쓰셔서 구해올 수도 있겠구요 근데 도저히 추천하고 싶지 않은 방법입니다.. |
닉
/
2013/11/28 09:18:10 /
추천
0
헛발이, 불의회상, 웅파, 키 //
답변 감사합니다. 많은 도움 되었습니다. 매칭 테이블.. 해법이군요 ^^ 예전에 저런구조 보면서 왜 저렇게 만들었지 생각했는데 검색하려고 한거군요 ^^ |
헛발이
/
2013/11/28 09:58:53 /
추천
0
미천한 생각으로는
게시판만들때 TAG기능을 만드는데 그 구조를 잘 써먹으면 좋을듯 싶은데요.. |
MySQL에서도 정규식을 사용할 수 있으니 부득이한 경우 정규식을 이용하는것도
방법일듯 싶은데...