CREATE TABLE IF NOT EXISTS `owv_product_option` (
`product_option_id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL,
`option_id` int(11) NOT NULL,
`option_value` text NOT NULL,
`required` tinyint(1) NOT NULL,
PRIMARY KEY (`product_option_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
CREATE TABLE IF NOT EXISTS `owv_product_option_value` (
`product_option_value_id` int(11) NOT NULL AUTO_INCREMENT,
`product_option_id` int(11) NOT NULL,
`product_id` int(11) NOT NULL,
`option_id` int(11) NOT NULL,
`option_value_id` int(11) NOT NULL,
`quantity` int(3) NOT NULL,
`subtract` tinyint(1) NOT NULL,
`price` decimal(15,4) NOT NULL,
`price_prefix` varchar(1) NOT NULL,
`points` int(8) NOT NULL,
`points_prefix` varchar(1) NOT NULL,
`weight` decimal(15,8) NOT NULL,
`weight_prefix` varchar(1) NOT NULL,
PRIMARY KEY (`product_option_value_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
SELECT distinct(pv.product_id)
FROM owv_product_option pv, owv_product_option_value pov
where pov.product_id = pv.product_id
and pov.option_id in (1,2)
and (pov.option_value_id in (2,6))
and (pov.option_value_id in (3))
我有 2 个产品
第一款产品“黑色衬衫”
- 颜色:红色、蓝色
- 尺寸:小号、中号
2nd 产品“蓝色牛仔裤”与
- 颜色:蓝色
- 尺寸:无
我有过滤器显示
- 颜色:
- 红色的
- 蓝色的
- 黑色的
尺寸
- 小的
- 中等的
- 大的
如果我选择了蓝色,它显示 2 个产品,我选择了小尺寸,它仍然显示 0 个产品,我只需要显示 1 个产品