【发布时间】:2015-07-27 11:04:36
【问题描述】:
我正在构建一个存储有关不同类型产品的数据的应用。 这是我的产品表的架构:-
------------------------------------------------------------------------------------
| id | product_name | price | details | category_id | phone_ram | bike_mileage |
------------------------------------------------------------------------------------
这里,id、product_name、price 和 details 列适用于所有产品。但是“phone_ram”列仅适用于“phone”类别下的项目,“bike_mileage”列适用于“bike”类别下的项目。
这是“类别”表:-
----------------------
| id | category_name |
----------------------
| 1 | phone |
----------------------
| 2 | bike |
----------------------
这里是'category_data'表,它存储任何类别的数据名称。
-----------------------------------
| id | category_id | name_of_data |
-----------------------------------
| 1 | 1 | phone_ram |
-----------------------------------
| 2 | 2 | bike_mileage |
-----------------------------------
现在,在我的查询中。首先,我将从适用于各种数据的“产品”表中选择列。然后我将从同一个表中获取表的“category_id”,并检查“category_data”表以查找要从产品表中获取哪些附加数据。然后我将再次根据产品表中的类别选择附加数据。 IE:如果类别为“电话”,则为“phone_ram”列。
如何实现?
【问题讨论】:
-
为什么要将列添加为phone_ram 和bike mileage?您的数据库结构错误,请更正结构并以更准确的方式提出问题
-
您的
product表中不需要phone_ram和bike_mileage列。因为category_id包含这些数据。我说的对吗?