现在有一个简单的产品属性表, KV 形式, 比如:
pid,name,value
(1,"num","2"),
(1,"category","M"),
(1,"price","high"),
(1,"heat","true"),
(1,"tag","4TX")
现在要根据选择的属性找出产品, 如果是每种单选的话吗, 大概知道怎么做, 就是
select * from ps where value in ("2","M") group by pid having count(*)=2
虽然也不知道这个做法有没有问题, 但至少能用, 但是如果是更复杂的组合就完全不知道怎么写了, 比如要满足 num=2 同时 category=M, 然后 price=high 和 heat=true 两个任意满足一个, 这个完全不知道怎么写
有大神能帮忙吗, 或者这个属性表是不是不应该这么设计?
求求
pid,name,value
(1,"num","2"),
(1,"category","M"),
(1,"price","high"),
(1,"heat","true"),
(1,"tag","4TX")
现在要根据选择的属性找出产品, 如果是每种单选的话吗, 大概知道怎么做, 就是
select * from ps where value in ("2","M") group by pid having count(*)=2
虽然也不知道这个做法有没有问题, 但至少能用, 但是如果是更复杂的组合就完全不知道怎么写了, 比如要满足 num=2 同时 category=M, 然后 price=high 和 heat=true 两个任意满足一个, 这个完全不知道怎么写
有大神能帮忙吗, 或者这个属性表是不是不应该这么设计?
求求