2017-02-10 47 views
-1

我開發了一家在線商店,每家商品都有優惠和優惠。通過分組選擇不同的房產價值

我有這張表來存儲優惠和他們的屬性及其價值之間的聯繫。

現在,我試圖獲得所有與產品相關的屬性。 我試圖做到這一點與此查詢

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` 

但是,正如你可以在下面的截圖看到,它重複值(因爲他們中的一些可以是相同的兩個報價) enter image description here

所以,我的問題是:如何爲每個屬性只選擇不同的值?

+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