2017-04-27 51 views
0

我試圖通過檢查相同的字段在一個查詢中長。我的查詢是這樣的Mysql查詢中的問題

SELECT DISTINCT products.products_id,products_description.products_title, products_sizes.size_id, products_sizes.size_title,products_sku.sku  
FROM products_description 
LEFT JOIN products ON products_description.products_id = products.products_id 
LEFT JOIN products_sizes ON products_description.products_id = products_sizes.products_id 
LEFT JOIN product_stock_history ON product_stock_history.products_id = products.products_id 
LEFT JOIN products_sku ON products_sku.size_id = products_sizes.size_id 
WHERE products.enable_stock_management = '1' 
AND products.products_id != '-11' 

這將檢索結果如下圖所示

enter image description here

,但我想通過檢查來檢索像下面的細節sizeid是不同的,那麼唯一的顯示,否則檢索第一記錄

enter image description here

這是可能實現?

+2

您可以通過products.products_id,products_description.products_title使用'組,products_sizes.size' – Jens

+1

組由不起作用? – masterFly

+0

是的,這將工作。哦,那不是我想到的。只能通過products_sizes.size進行分組。非常感謝 – Anju

回答

1

我認爲這將作爲您預計

SELECT DISTINCT products.products_id, 
       products_description.products_title, 
       products_sizes.size_id, 
       products_sizes.size_title, 
       products_sku.sku 
FROM products_description 
LEFT JOIN products ON products_description.products_id = products.products_id 
LEFT JOIN products_sizes ON products_description.products_id = products_sizes.products_id 
LEFT JOIN product_stock_history ON product_stock_history.products_id = products.products_id 
LEFT JOIN products_sku ON products_sku.size_id = products_sizes.size_id 
WHERE products.enable_stock_management = '1' 
    AND products.products_id != '-11' 
GROUP BY size_id, 
     size_title 
+0

我沒有測試過這個查詢,因爲我沒有我的電腦 –

1
SELECT DISTINCT products.products_id,products_description.products_title, products_sizes.size_id, products_sizes.size_title,products_sku.sku  
FROM products_description 
LEFT JOIN products ON products_description.products_id = products.products_id 
LEFT JOIN products_sizes ON products_description.products_id = products_sizes.products_id 
LEFT JOIN product_stock_history ON product_stock_history.products_id = products.products_id 
LEFT JOIN products_sku ON products_sku.size_id = products_sizes.size_id 
WHERE products.enable_stock_management = '1' 
AND products.products_id != '-11'GROUP BY products.products_id;