如何在SQL中聚合不同类型的产品?

时间:2016-06-08 21:46:22

标签: mysql

我们想说我想卖电脑和显示器。

让我们说我希望计算机存储内存(GB),处理器速度(GHz),硬盘类型,硬盘大小等参数。

显示器具有尺寸(英寸),分辨率和比率等参数。

所有产品都有名称,价格和供货情况。

如果稍后我想过滤它,最好的方法是将它们存储在MySQL数据库中。 "价格范围> 500 $"?

的所有产品

1 个答案:

答案 0 :(得分:0)

使用属性值表:

CREATE TABLE attributes (
    product_id INT, -- foreign key to products table
    attribute_name VARCHAR(32), -- size, resolution, ratio, etc.
    attribute_value VARCHAR(32) -- value of the attribute
);

然后你可以进行如下查询:

SELECT product_id
FROM attributes
WHERE attribute_name = 'size' AND attribute_value = 32

您可以使用products表格加入此表格以获取价格等内容。

如果要组合多个属性,请参阅

mySQL - Create a New Table Using Data and Columns from Three Tables