사용자가 여러 태그를 삽입하여 특정 항목을 검색 할 수있는 태그 기반 검색을 구현합니다. 하나의 엔티티는 많은 수의 태그를 가질 수 있습니다. 그러나 사용자가 검색 한 모든 태그를 검색 결과에 표시 할 필요는 없습니다.선택 항목 수순으로 정렬
예를 들어, 사용자가 "신발", "가죽", "공식"과 같은 세 개의 태그를 입력하면 하나 이상의 태그가있는 모든 엔티티가 목록에있을 수 있습니다.
나는이 키워드 중 하나를 가진 엔티티의 전체 목록을 반환하기 위해 유니온을 사용하고 있지만 카테고리에서 발견 된 태그의 수에 따라 정렬되도록하는 것이 문제입니다.
예를 들어 "신발", "가죽", "공식적인"태그가 모두있는 엔티티는 그 중 하나 또는 두 개만있는 엔티티 위에 있어야합니다. 이런 종류의 검색을 수행 할 수있는 SQL 기능이 있습니까?
[편집]
내 테이블 레이아웃은 다음과 같습니다
엔티티 테이블
- ENTITY_NAME
- ENTITY_ID (자동 INC 기본 키)
태그 테이블
내 목적을 해결할 수없는 0- 태그
- ENTITY_ID
입니다. 지금이 검색어 사용 :
select entity.entity_name from entity.entity_id join tags on tags.entity_id=entity.entity_id where tags.tag="first tag"
union
select entity.entity_name from entity.entity_id join tags on tags.entity_id=entity.entity_id where tags.tag="second tag"
union
select entity.entity_name from entity.entity_id join tags on tags.entity_id=entity.entity_id where tags.tag="third tag"
내가 말했듯이 이것은 내 목적을 해결하지 못합니다.
현재 테이블 레이아웃은 무엇입니까? 현재 검색어가 무엇입니까? – Jocelyn
내 질문 편집, 분당 – Sourabh