シナリオは次のとおりです。SQLServer2008のテーブルがありSunflowerSeeds
ます。
CREATE TABLE [dbo].[SunflowerSeeds](
[Color] [nvarchar](50) NULL,
[SeedType] [nvarchar](50) NULL,
[Price] float NULL
)
簡単にするために、データの長いリストは挿入していません。
テーブルへのデータ挿入は次のようになります。
Insert into [dbo].[SunflowerSeeds] (Color, SeedType, Price)
SELECT 'Yellow', 'Dwarf', 20
UNION ALL
SELECT 'Brown', 'Garden', 30
UNION ALL
SELECT 'Red', 'Garden', 35
今、私はシードの価格を上げることができるさまざまなマトリックスを提供されました。
- 無孔(はい/いいえ):はいの場合、価格を10%上げます
- 高さ(> 13 "):はいの場合、価格を8%上げます
- オーガニック(はい/いいえ):はいの場合、価格を15%引き上げます
- ライフサイクル(年間-はい/いいえ):はいの場合、価格を12%引き上げます
各データ挿入行は、上記の各マトリックスに対してYESまたはNOの値を持つ可能性があります。Price
テーブル内の各シードに基づいて新しい価格を返し、SunFlowerseeds
行列の組み合わせをa/cに取り込むプロセスを考え出す必要があります。
たとえば、Yellow Dwarfが無極性で、高さが13インチを超え、Organic YESであり、年間ライフサイクルがある場合、新しい価格は次のように計算する必要があります。
10% + 8%+15%+12% = 45% = 1+ 0.45= 1.45
次に、新しい価格は次のとおりです。 1.45 * Original Price= 1.45*20 = 29
残りの組み合わせについても同様です。
後でC#コードで呼び出すことができるように、SQLServerストアドプロシージャを作成することを考えています。ストアドプロシージャのi/pパラメータはとになりColor
ますSeedType
。これらの2つのパラメーターを使用して、を取得できますPrice
。
Price
課題は、適用可能なマトリックス(無孔、高さ、有機、ライフサイクル)の組み合わせを使用して、シードごとに新しいものをどのように計算するかです。誰かが私にそれを行う適切な方法を教えてもらえますか?親切に助けてください。TIA。