2017-02-10 4 views
-1

私は各製品にオファーと特典が付いているオンラインストアを開発しています。グループ分けで特性値を選択

私は、オファーとそのプロパティとその値の間の接続を保存するためにこのテーブルを持っています。

今、私は製品に接続されているすべてのプロパティを取得しようとしています。 enter image description here

(そのうちのいくつかは、2つの提案のために同一とすることができるので) 私はあなたが次のスクリーンショットで見ることができるように、このクエリ

SELECT `pp`.`product_id`, `pp`.`offer_id` , `pp`.`property_id`, 
group_concat(pp.property_value separator '^$^') `values`, 
group_concat(pp.property_value_number separator '^$^') `number_values` 
FROM `app_catalog_product_properties` AS `pp` 
WHERE `product_id` = '41' 
GROUP BY `pp`.`property_id` 

でこれを行う。しかししようとした、それが値を複製します

だから私の質問は、どのように各プロパティの個別の値だけを選択するのですか?

+0

秒スクリーンショットを見て@GurV、プロパティIDが異なっているが、彼らの値は、それが動作しませ – Rulisp

答えて

1

私は最も簡単な解決策はgroup_concat(distinct)だと思う:

SELECT `pp`.`product_id`, `pp`.`offer_id` , `pp`.`property_id`, 
     group_concat(distinct pp.property_value separator '^$^') as `values`, 
     group_concat(distinct pp.property_value_number separator '^$^') as `number_values` 
FROM `app_catalog_product_properties` AS `pp` 
WHERE `product_id` = '41' 
GROUP BY `pp`.`property_id`; 
+0

おかげで、やります!完全に別のものを忘れてしまった。私は少し寝る必要があるかもしれません。 – Rulisp

+1

私はすぐにあなたの答えを受け入れるでしょう。 – Rulisp

関連する問題