테이블의 스키마는 매우 간단합니다. 나는 주소와 전화 번호 같은 고객의 정보를 저장하는 자식 테이블을 가지고있다. 열은 user_id, fieldname, fieldvalue 및 fieldname입니다. 각 행에는 전화 번호, 주소 또는 이메일과 같은 항목이 하나씩 있습니다. 이것은 각 고객에 대해 각 유형의 정보를 무제한으로 허용하는 것입니다. 휴대폰에mysql에서 전체 텍스트 인덱스를 검색하는 쿼리를 작성하려고합니다.
사람들은 그들이 우리의 콜 센터에 전화로 신속하게 이러한 고객을 찾아 볼 필요가있다. LIKE %를 사용하여 실험 해본 결과 지금 FULLTEXT 인덱스로 작업하고 있습니다. 내 쿼리는 작동하지만 사람들이 805와 같은 전화 지역 코드를 검색하면 많은 사람들이 생길 것이기 때문에 Bill을 더 유용하게 만들고 싶습니다. 그런 다음 Bill을 추가하여 '805 Bill'이라는 이름을 추가합니다. 그것은 805 OR 빌을 가진 모든 고객을 보여줄 것입니다. 각 고객의 여러 행에 걸쳐 검색을 수행하고 싶습니다.
현재 나는 user_ids를 잡아 아래의 쿼리를 사용하고 나중에 나는 그들의 완전한 기록을 구축하기 위해 각 사용자에 대한 모든 세부 사항을 가져 오는 또 다른 질문을한다.SELECT DISTINCT `user_id` FROM `user_details` WHERE MATCH (`fieldvalue`) AGAINST ('805 Bill')
는 다시, 나는 단일 사용자에 속하는 행 그룹에 대한 위의 쿼리를 수행하고 싶지만, 그 사용자는 검색 키워드와 일치해야합니다. 어떻게해야합니까?
나는 그것을 시도했지만 두 키워드가 같은 행에있을 경우 user_id 만 반환합니다. 여러 행에서 작동하지 않는 것 같습니다. – EricLeslie
좋아, 이건 내 바른 길이다. 따라서 각 키워드에 대해 추가 조인을해야합니다. – EricLeslie