私は現在、運送会社の請求書作成用のデータベースを設計中です。 私が執着したポイントは、ワイトリミットを超えるレートの計算方法です。追加の重量に基づいて送料を計算する
私はあなたが私だけで簡単にクエリの間で使用して2キロ件まで速度を得ることができます見ることができるようにtblRates 列{ID、from_weight、to_wight、価格} 行と呼ばれる一つのテーブルが
[{1,0,499,20$},
{2,500,1999,40$}, //max weight 2Kg
{3,2000,'unlimited','$20'}] //this row holds pricing for every add 500gm
ようになる持っています。しかし、体重が2kgを超えると、それを500gmのスライスに分割し、各スライスに20ドルを請求したいと思います。例えば重量が3300の場合、価格は$ 40 + $(3 * 20)になります。ロケーションベースの価格設定について心配しないでください。私の質問を理解するための単純さのために、私はこのテーブルに価格を移しました。与えられた重量が限界を超えたときにどのようにスライスを決定するか。
// WIP SP
CREATE Procedure Sic.getRates
@Weight Decimal(7,3),
AS
BEGIN
SELECT Price
FROM tblRates
WHERE @weight BETWEEN from_rates AND to_rates;
END
使用しているdbmsにタグを付けます。ほとんどのdbms製品には、ANSI準拠の非ストアド・プロシージャがあります。 – jarlh
サンプル・テーブル・データと期待される結果をフォーマット済みのテキストとして追加します。現在のクエリの試行も表示してください。 – jarlh
私は現在MS sqlを使用しています。 –