我有一张桌子" PackagingType"有2列(materialID | name)和另一个表"材料"有身份证和材料明细。
对于" packagingtype"中的每个名称;我想指定哪些材料可用(例如,在材料ID列中我将有1,3,4,5)。
我需要将这些材质ID与材料表相匹配,并提取细节。
这样做的正确方法是什么?不确定将数据存储为1,3,4,5是否正确,语法是什么样的?
答案 0 :(得分:1)
在关系数据库设计中,您不会将值组合到一个单元格中。有例外,但很少和很远。这将不是标准化数据,并且将使得将来的查询和分析变得困难/复杂。因此,对于不同的materialID,PackagingType应该多次具有相同的名称。
所以表格会有像
这样的数据MaterialID Name
1 PackageA
3 PackageA
4 PackageA
5 PackageA
然后,为了获得材质描述的结果,您只需进行连接。
SELECT PT.MaterialID, PT.Name, M.Detail
FROM PackagingType PT
INNER JOIN Materials M
on PT.MaterialID = M.MaterialID