제품 필터 기능을 만들려고하고 있는데 사용자가 선택한 항목을 기반으로 올바른 쿼리를 작성하는 데 문제가 있습니다.MySql 필터 쿼리
product_tb
+-----------+
|product_sku|
+-----------+
|ABC |
|XYZ |
|-----------|
product_attribute_tb
+-----------+--------------+---------------+
|product_sku|attribute_name|attribute_value|
+-----------+--------------+---------------|
|ABC |colour |red |
|ABC |size |M |
|XYZ |colour |red |
|XYZ |size |L |
|-----------|--------------|---------------|
내가 무엇을 찾고 있어요 것은 모든 속성이 존재하는 경우 사용자가 선택하는 '빨간색'과 'M', 그것은 단지 ABC를 반환 그래서 만약 제품은, 돌려 주어집니다 : 테이블이 말할 수 있습니다.
이러한 특성을 제품 테이블에 넣지 않은 이유는 SaaS 응용 프로그램과 필터가 다른 응용 프로그램마다 다를 수 있기 때문입니다.
하드 코딩 된 이름으로 여러 조인을 수행 할 수 없으며 product_attribute_tb의 이름과 내용 값을 기반으로 유연한 제품을 찾기 위해 제품에 대해 40 가지 잠재적 인 필터가있을 수 있습니다.
어쩌면 나는 분명하지만 뭔가를 놓치고있다. 누군가 도움이된다면 도움이 될 것이다.
감사합니다. Martin.
테이블을 다시 포맷하십시오. 무엇을 묻는 지 명확하지 않습니다. –
질문이 있습니다. 모든 제품에 빨간색과 L 크기가 어떻게 표시됩니까? 이게 말이 돼? – Martin