2014-10-03 135 views
0

我有一個包含2列(materialID |名稱)的表「PackagingType」和另一個帶有ID和材料詳細信息的表「materials」。根據另一個表列中的值過濾一個表

對於「包裝類型」中的每個名稱,我想指定可用的材料(例如,在材料ID列中,我將擁有1,3,4,5)。

我需要將這些材質ID與材質表匹配並提取詳細信息。

什麼是正確的方法來做到這一點?不知道是否將數據存儲爲1,3,4,5是正確的,語法看起來像什麼?

+1

閱讀關於連接:http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ – xQbert 2014-10-03 13:10:15

回答

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 
相關問題