제품에 필터가있는 전자 상거래 사이트가 있습니다. 제품에는 등록 정보 (필수 등록 정보 유형) (Spree DB 스키마)에 속하는 많은 ProductProperties가 있습니다.다중 선택 패싯으로 검색
속성은 "brand", "product_type", "collection_status"및 "collection_season"입니다. 사용자는 체크 박스 (각 필터에 대해 여러 값)를 사용하여 각 항목별로 필터링 할 수 있으므로 브랜드 'lacoste'또는 'fred perry'로 '유형'양말 '또는'셔츠 '제품을 선택할 수 있습니다.
이 논리는 나를 이해하기가 어렵습니다. 그리고 저는 혼란 스럽습니다 : 하나의 SQL 쿼리에서 검색을 수행 할 수 있습니까? 이 쿼리가 의미가 있습니까?
SELECT COUNT(DISTINCT "spree_products"."id") FROM "spree_products"
LEFT OUTER JOIN "spree_product_properties" ON "spree_product_properties"."product_id" = "spree_products"."id"
WHERE
("spree_product_properties"."value" in ('lacoste', 'fred perry') AND "spree_product_properties"."property_id" = 161337574)
AND
("spree_product_properties"."value" in ('socks', 'shirts') AND "spree_product_properties"."property_id" = 905834903)
I시피 asos 유사한 경우 다단계 탐색을 수행한다.
업데이트 : 위 쿼리는 잘못된 검색 결과를 생성합니다. 원하는 경우 샌드 박스에서 사용해 볼 수 있습니다.
둘 이상의 속성에 대해 제품을 쿼리하고이를 수행하기 위해 SQL 쿼리를 제공 했습니까? 여기에 어떤 질문이 있습니까? 마지막 문장을 조금 더 설명해야합니다. –
마지막 문장에서 엉망이되어 죄송합니다. 삭제하겠습니다. 사실,이 SQL 쿼리는 저에게 쓰여지며, 제가 원하는 결과를 산출하지 못합니다. –