2012-12-29 2 views
0

제품에 필터가있는 전자 상거래 사이트가 있습니다. 제품에는 등록 정보 (필수 등록 정보 유형) (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 유사한 경우 다단계 탐색을 수행한다.

업데이트 : 위 쿼리는 잘못된 검색 결과를 생성합니다. 원하는 경우 샌드 박스에서 사용해 볼 수 있습니다.

+0

둘 이상의 속성에 대해 제품을 쿼리하고이를 수행하기 위해 SQL 쿼리를 제공 했습니까? 여기에 어떤 질문이 있습니까? 마지막 문장을 조금 더 설명해야합니다. –

+0

마지막 문장에서 엉망이되어 죄송합니다. 삭제하겠습니다. 사실,이 SQL 쿼리는 저에게 쓰여지며, 제가 원하는 결과를 산출하지 못합니다. –

답변

1

해석 프로젝트를위한 프레임 워크와 함께 작업 할 때 나는 Looker에있는 기존 LookML 템플릿을 사용합니다. 이렇게하면 수동 쿼리를 작성하지 않고 Looker는 쿼리를 생성하는 스키마를 인식합니다.

My template for spree은 기본 설치 방법을 다룹니다.

다른 타사 도구와 함께 Spree를 통합하려는 경우 모델을 확장하기 만하면됩니다.