這裏的情況:我有一個表SunflowerSeeds
在SQL Server 2008中的SQL Server:存儲過程的挑戰
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
,可以提高種子的價格現在,我已經提供了各種矩陣。
- Polenless(YES/NO):如果是,由10%提高價格
- 高度(> 13" ):如果是,8%
- 有機提高價格(YES/NO) :如果是的,由15%
- 生命週期提高價格(Annual- YES/NO):如果是,由12%提高價格
每個數據插入行可以具有YES或NO的值的每一個上面列出的矩陣我需要想出一個過程來返回基於Price
的新價格每個種子在SunFlowerseeds
表中並考慮到矩陣的組合。
對於例如,如果黃矮是polenless,具有高度> 13」 ,有機YES並且具有年度生命週期然後將新的價格已經被計算爲
10% + 8%+15%+12% = 45% = 1+ 0.45= 1.45
然後新的價格爲:1.45 * Original Price= 1.45*20 = 29
對於組合的其餘部分也是如此。
我正在考慮編寫一個SQL Server存儲過程,以便稍後可以在我的C#代碼中調用它。存儲過程的I/p參數將爲Color
和SeedType
。有了這兩個參數,我可以得到Price
。
挑戰是如何計算每種種子的新Price
與適用矩陣的組合 - Polenless,高度,有機,LifeCycle。任何人都可以點我一個正確的方式來做到這一點。請幫助我。 TIA。
不是'&'但是'*'。 –
@AndriyM,爲什麼&?我正在做和爲零,如果沒有設置 – CjCoax
[你試過你的代碼?](http://sqlfiddle.com/#!3/d41d8/4605) –