小编cra*_*bag的帖子

如何在SQL中实现过滤系统?

现在我打算在我的网站上添加一个过滤系统.

例子:

(ID=apple, COLOR=red, TASTE=sweet, ORIGIN=US)
(ID=mango, COLOR=yellow, TASTE=sweet, ORIGIN=MEXICO)
(ID=banana, COLOR=yellow, TASTE=bitter-sweet, ORIGIN=US)
Run Code Online (Sandbox Code Playgroud)

所以现在我有兴趣做以下事情:SELECT ID FROM thisTable WHERE COLOR ='yellow'AND TASTE ='SWEET'

但我的问题是我在我的网站中为多个类别执行此操作,并且列不一致.(如果桌子是用于手机,那么它将是品牌,3G-ENABLED,价格,颜色,波长等)

我怎么能设计一个允许这个的通用模式?

现在我正计划做:

table(ID, KEY, VALUE)
Run Code Online (Sandbox Code Playgroud)

这允许任意数量的列,但对于查询,我使用SELECT ID FROM表WHERE(KEY = X1 AND VALUE = V1)AND(KEY = X2 AND VALUE = V2),..返回空集.

有人可以推荐一个很好的解决方案吗?请注意,列数将定期更改

mysql sql

6
推荐指数
2
解决办法
1762
查看次数

标签 统计

mysql ×1

sql ×1