2011-12-25 101 views
0

我有一些Item_ID唯一的項。每個項目組合都會創建一個具有「價格」值的新項目。DB中的數據結構字段

例如,項目編號:1,5,7具有$ 10.00和項目數的價格值:1,10,2有$ 20.00的

的價格值我想價格的值存儲在數據庫中並根據請求提取正確的信息。項目編號本身存儲在C#集合中 - 順序不重要。在查詢項目編號:1,5,7和1,7,5時,我們應該從數據庫中檢索相同的值。

我正在考慮將值存儲在字符串字段中,但當項目的順序不相同時會產生問題。我也想過XML - 但是如何查詢DB讓它知道子筆記的順序並不重要。

需要幫助!

謝謝!

+0

是數字1屬於兩個集合嗎? 10 $和20 $? – emaillenin

+0

是的,每個號碼可以出現在不同的集合中。而且,每一組的大小都不一樣。 –

回答

0

創建一個新的表名爲Item_Groups並分配一個組ID爲一組項目的

Item_Groups

Group_ID | Item_ID 
1 | 1 
1 | 5 
1 | 7 
2 | 1 
2 | 2 
2 | 10 

Item_Group_Price將單獨的表到指定的價格向一組

Group_ID | Price 
1 | 10$ 
1 | 20$ 

當您有物品1,5,7時,請檢查第一張桌子瞭解組ID,然後使用此組ID並從第二個表中獲取價格。

+0

它的可能性,但搜索此表將導致多個查詢。我很難相信沒有更好的方法來實現這一點。 –

1

也許保存它與此項目的總和和乘法定義的屬性?
{1,2,7},{7,2,1} - 10 14 30 $

+0

但是1,2,7和3,7具有相同的值。 –

+0

也許如果我們在其中包含乘法和和? –

+0

是的,它似乎必須工作,如果你包含乘法,但乘法可以給大的價值。 – designerrr