확인 - 도움이 필요합니다. 여기에서 씹을 수있는 것보다 더 많이 물릴 수 있습니다. 그러나 항상 최소 10 개의 결과를 반환하는 SQL 쿼리를 작성하려고합니다. 첫 번째 조건이 적용되고 결과 집합이 10 개를 초과하면 다음 조건으로 넘어갑니다.SQL - 검색 결과 필터링
예 £ 5.00 미만의 작은 빨간색 플라스틱 장난감 자동차를 찾으십시오.
나는 항상 화면에 최소한 10 개의 항목을 표시하려고합니다. "small"을 검색하고 "red"를 누른 다음 "< £ 5.00"을 검색하고 싶습니다. 쿼리가 10 개 이상의 항목을 반환하면 가능한 한 많은 태그 (예 : 플라스틱, 장난감 및 자동차)에서 계속 필터링하십시오. 더 많이 일치하면 순위를 매길 수 있습니다 (예 : 제품에 3 개의 태그가 모두있는 경우 이 -. 다음이 목록 아래로 떨어집니다 꽤 긴 예를
Price Table
ID Price
1 £1.50
2 £2.50
3 £6.00
.
Colour Table
ID Colour
1 Red
2 Blue
3 Yellow
.
Size Table
ID Shape
1 Small
2 Medium
3 Large
.
Products Table
ID Description price_id colour_id size_id
1 Item 1 1 2 2
2 Item 2 2 2 1
3 Item 3 1 1 1
4 Item 4 3 2 3
5 Item 5 3 1 2
6 Item 6 1 1 2
7 Item 7 1 1 3
.
Tags Table
ID Description
1 Shiny
2 Plastic
3 Wood
4 Toy
5 Disney
6 Animal
7 Car
.
Items_Tags Table
ID tag_id product_id
1 1 1
2 4 1
3 7 1
4 2 2
5 3 3
6 4 3
7 7 6
8 7 7
9 7 2
- - 제품은 1 개 태그를 일치하는 경우는, 목록의 상단에있을 것입니다하지만 난 당신이 포인트를 얻을 희망 I. 가격표, 색상 및 크기와 같은 태그 표 내에 모든 필터를 넣는 것이 도움이되는지 궁금해했습니다.
아무 아이디어 나 누구?
감사
그것은 당신의 사용에 따라