2017-04-27 69 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;