如何获得多值元素的正确数字?

时间:2015-10-28 16:43:00

标签: mysql

我在我的网站上概述了大约100件T恤。我有可能过滤衬衫的尺寸并过滤商店(来自不同商店的内容)。不幸的是,我无法正常工作。尺寸过滤器提供了正确的尺寸和数字,但网上商店过滤器在过滤尺寸时没有给出正确的数字。当我过滤例如' L' AND' XL'商店X的衬衫数量为150件。因为有90件T恤衫和L'和60英寸大小的' XL'这当然不正确,因为商店里只有100件T恤。

当有人在L和XL上过滤时,我想在商店X找到合适数量的衬衫。因此,如果还有L XL的60 XL衬衫,那么这个数字必须是90(60 L和XL,30只L)。

有谁知道我怎么能得到正确的号码?因为JOIN可以给出多行(大小),所以我可能会做LIMIT 1或那样的东西吗?

我此时的查询(商店X的编号为150):

SELECT 
    COUNT(webshops.name) AS number, 
    webshops.name 
FROM products 
INNER JOIN webshops 
    ON  webshops.id = products.webshop_id 
INNER JOIN  product_details 
    ON  product_details.product_id = products.id 
INNER JOIN  details sizes 
    ON  sizes.id = product_details.detail_id 
WHERE   products.category_id = 1
    AND
    (
        sizes.url_name = 'L' 
        OR
        sizes.url_name = 'XL' 
    )
GROUP BY 
    webshops.name

数据模型: 产品(ID,名称,描述等) 网上商店(id,name,url等) product_details(detail_id,product_id)

详细信息(id,name,detail_type_id) 1 - S - 2 2 - M - 2 3 - L - 2 4 - XL - 2

0 个答案:

没有答案