2014-02-08 2 views
0

내가 PrestaShop 버전 1.5 제품 기능을 얻을 필요가 있습니다,하지만 probleme 내가 제품 당 하나 개의 기능에PrestaShop 버전은 : 제품에 대한 MySQL의 쿼리

예를 들어 여러 값을 넣어 나를 수 있도록 수정의 문신을 사용하는 것입니다 :

호환 메모리 카드 : - 르트 Memoire의의 xD - 메모리 스틱 - 메모리 스틱 PRO - 멀티미디어 (MMC) - 르트 보안 디지털 I이 쿼리를 얻었다 (SD)

:

Select fl.name, fvl.value, f.id_feature 
From ps_feature_lang fl Left Join 
    ps_feature_product fp On fl.id_feature = fp.id_feature And fp.id_product = 291 
    Left Join 
    ps_feature_value_lang fvl On fp.id_feature_value = fvl.id_feature_value And 
    fvl.id_lang = 5 Left Join 
    ps_feature f On f.id_feature = fl.id_feature 
Where fl.id_feature In (Select ps__fc_categories_features.feature_id 
    From ps__fc_categories_features) 
Group By fl.name, fvl.value, f.id_feature, fl.id_feature 
Order By f.position 

하지만 특정 제품에 대한 하나 개 이상의 값을 갖는 특징이 있다면, 그것은 그 기능 최선을 여러 RAWS을 줄 것이다는 pultiple 값

이 각 기능에 대한 값을 CONCAT하는 쿼리입니다

고맙습니다.

답변

0

쿼리를 약간 수정하면이 작업을 수행 할 수 있습니다. 이 시도 :

Select fl.name, group_concat(fvl.value) as values, f.id_feature 
From ps_feature_lang fl Left Join 
    ps_feature_product fp 
    On fl.id_feature = fp.id_feature And fp.id_product = 291 Left Join 
    ps_feature_value_lang fvl 
    On fp.id_feature_value = fvl.id_feature_value And fvl.id_lang = 5 Left Join 
    ps_feature f 
    On f.id_feature = fl.id_feature 
Where fl.id_feature In (Select ps__fc_categories_features.feature_id 
         From ps__fc_categories_features 
         ) 
Group By fl.name, fl.id_feature 
Order By f.position; 

이 쿼리는 group by에서 fvl.value를 제거하고 selectgroup_concat()을 추가합니다. f.id_feature도 삭제했습니다. join 조건에 따라 중복 된 것처럼 보입니다.

+0

그동안 같은 연구에서 약간의 연구를 통해 동일한 수정 ("group_concat")에 약간의 영향을주었습니다. 그럼에도 불구하고, 도와 주셔서 대단히 감사 드리며 많은 도움이 될만한 몇 가지 도움이되기를 바랍니다. – user3287461