根据您提供的信息,我将创建以下 3 个表:
- 公司资料
- 产品类型(字段:
[uniqueID]
; ptID
; pName
; pSubName
; subPType
)所以数据是:
1, 1, "DRY", NULL
, NULL
( pSubName
NULL == Product Type "definition" field)
2, 1, "DRY", "CTD", ???
--不管什么' type' 字段的值为
3, 1, "DRY", "VTD", ???
, ...
6, 2, "Sensors", "VCS",???
如果需要根据产品子类型多次获取数据,也可以添加一个ptSubID
-numeric- 字段并基于该字段获取数据
- 数据表存储
companyID
,productTypeUniqueID
和KV
egamount
或您可能拥有或不拥有的其他“价值数据”
如果添加productTypeUniqueID
到产品类型表中,也请在此处添加!
添加新公司、产品类型或产品子类型是显而易见的。获取数据看起来像:
SELECT CMP.compName AS 'Company Name',PRD.pname AS 'Product',PRD.pSubName AS 'subProduct',PRD.pType AS 'Type',DTA.KV AS 'KV', DTA.amount
FROM data_table AS DTA
LEFT OUTER JOIN company_table AS CMP ON CMP.compID=DTA.compID
LEFT OUTER JOIN product_table AS PRD ON (PRD.ptID=DTA.ptID [AND PRD.ptSubID=DTA.ptSubID])
WHERE PRD.ptID=1 --all "DRY" products
/** or: **/ WHERE (PRD.ptID=1 AND PRD.ptSubID<>2) AND CMP.compID=8
但它可能会因以下原因而有所不同:
- 将使用最常见的数据检索类型
- 您未分享的详细信息,但重要的搜索关键字(例如子产品的尺寸)
- 产品更新/更改频率、产品类型/子类型更新/更改
- 可能会出现典型的变化——基于业务经验——例如“我们不再使用产品子类型”
希望这可以帮助!