我正在研究這個自己基於一系列從兩行的表,但我希望得到來自社會的一些輸入在其間。我有一個SQL Server 2012數據庫,就像這樣的情侶對錶:如何更新排在另一個表
折扣
Id Quantity DiscountAmount
--------------------------------
1 500 6
2 1000 8
3 1500 10
我有一個名爲Reviews
有成千上萬個條目,在它的另一個表。該表的模式並不重要。
我想要做的就是通過在Discounts
表中的項環並在這一審查的行數下降到目前的折扣行的數量和在未來量之間的Reviews
表應用的UPDATE
語句的所有記錄 - 1.
因此,在僞代碼:
For each row in the discount table order by quantity asc
BEGIN
UPDATE Review SET Discount=DiscountAmount WHERE [ROW NUMBER]
BETWEEN Quantity[CURRENT_ROW] AND Quantity[NEXT_ROW]-1
END
實際上,這設定用於第一499行,以0折扣金額(這是折扣默認設置),然後500-999他們得到折扣6,1000 - 1499他們得到8和1500 +他們的折扣獲得10
設置http://www.sqlfiddle.com,您將得到回答更快。第二件事你爲什麼要做CURSOR就像在SQL中處理。改變思維到基於SET。 – lad2025
我很好基於集合的答案,只是爲了尋找給定的問題的解決方案,無論他們採取什麼辦法。 – Scott