我有一個sql場景,我一直在嘗試改進。SQL爲用戶分配ID的場景
有一張「退貨」表,其中有退貨的ID與商品的商店相關。其結構如下。
Returns
-------------------------
Return ID | Shop | Item
-------------------------
1 Shop1 Item1
2 Shop1 Item1
3 Shop1 Item1
4 Shop1 Item1
5 Shop1 Item1
還有一個表供應商與商店,供應商和項目如下所示。
Supplier
---------------------------------
Supplier | Shop | Item | Volume
---------------------------------
supp1 Shop1 Item1 20%
supp2 Shop1 Item1 80%
現在你看到supp1的總供應量ITEM1的20%,supp2是提供項目1的80%至shop1。同一Shop1有5件商品對同一商品1返還。 現在我需要爲Supp1分配任何四個返回ID,剩下一個返回Id給supp2。這個數字的分配基於供應商供應量百分比的比例。該分配根據供應物品的數量比例而變化。
現在我已經嘗試了使用臨時表使用RANK的方法,如下所示。
臨時表1將有Shop,Return Id,Item,返回ID的總數和返回ID的等級。
臨時表2將有店鋪,供應商,項目及其比例和等級的比例。
現在我面臨着如上圖所示將頂級退貨ID分配給頂級供應商的困難。由於SQL不具有循環,我怎麼才能做到這一點。我一直在嘗試多種方法。
我的環境是Teradata(ANSI SQL就足夠了)。
我錯過讀我的第一個回答你的問題。 – Zamboni 2010-05-29 17:36:05
非常感謝。我會研究它並更新你。再次感謝 – 2010-05-31 08:49:53