0
我目前对我的查询有问题,我无法弄清楚为了使其工作的最后一步。 问题是我在我的网站上有一个筛选器选项,可以让访问者根据特定设置进行筛选。查询字段必须匹配多个值
我的查询到目前为止
SELECT DISTINCT `spt`.`title`
FROM `shop_product_specs` as `sps` JOIN
`shop_product_texts` as `spt`
ON `spt`.`product_id` = `sps`.`product_id`
WHERE `cat_spec_id` IN (2, 3) AND (`value` IN ("1200", "1400")) AND (`value` IN ("A", "A+"))
我试图做到的是,当我执行查询值字段多个值相匹配。
因此,例如,我想要一个具有值为1200或1400的cat_spec_id为2的产品,但也要将cat_spec_id与值为“A”或“A +”的cat_spec_id匹配。
查询的主要问题是它是相同的字段,这甚至有可能吗?
这是我的结构
CREATE TABLE IF NOT EXISTS `shop_product_specs` (
`product_spec_id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL,
`cat_spec_id` int(11) NOT NULL,
`value` varchar(50) NOT NULL,
PRIMARY KEY (`product_spec_id`),
KEY `product_id` (`product_id`),
KEY `cat_spec_id` (`cat_spec_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=312 ;
谢谢!这正是我所期待的,我无法自己弄清楚这一点!你是男人! –