2011-12-25 12 views
0

私は、Item_IDによって一意のいくつかのアイテムを持っています。結合されたアイテムの各セットは、「価格」値を有する新しいアイテムを作成する。例えばDB内のデータ構造フィールド

、アイテム番号:1、5、7は$ 10.00価格の値と項目番号を持っている:1、10、2、私は、データベース内の価格の値を格納したい$ 20.00

の価格価値があります正しい情報を取得するように要求されたとき。アイテム番号自体はC#セットに格納されています。順序は重要ではありません。照会する際には、項目番号:1,5,7、および1,7,5をDBから取得する必要があります。

私は文字列フィールドに値を格納することを考えていましたが、項目の順序が同じではない場合に問題が発生します。私はXMLについても考えましたが、DBにどのように問い合わせて、子どもの順序が重要ではないことを知らせますか?

ヘルプが必要です。

ありがとうございます!

+0

はセット1に属しますか? 10 $と20 $? – emaillenin

+0

はい、各番号は異なるセットに表示されます。さらに、各セットのサイズは同じではありません。 –

答えて

0

Item_Groupsと呼ばれる新しいテーブルを作成し、

Item_Groups

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

Item_Group_Priceグループ

に価格を割り当てるために別のテーブルになるアイテムのグループのグループIDを割り当てます
Group_ID | Price 
1 | 10$ 
1 | 20$ 

アイテム1,5,7があるときは、最初のテーブルを確認してくださいグループIDを知り、このグループIDを使用して2番目のテーブルから価格を取得します。

+0

このテーブルを検索する可能性はありますが、複数のクエリが発生します。私はそれを達成するためのよりよい方法がないと信じることは難しいと思う。 –

1

多分この項目の合計と乗算で定義された属性で保存しますか?
{1,2,7}、{7,2,1} - 10 14 30 $

+0

しかし1,2,7,7,7の値は同じです。 –

+0

もしそれに乗算&和が含まれていれば? –

+0

はい、乗算を含めるとうまくいくはずですが、乗算は大きな値を与えることができます。 – designerrr