Je suis actuellement en train de concevoir une base de données pour la facturation de compagnies maritimes. Le point où je suis bloqué est comment calculer les taux qui dépassent la limite wight.calculer les tarifs d'expédition en fonction du poids additionnel
J'ai une table appelée tblRates colonnes {id, from_weight, to_wight, prix} lignes sont comme
[{1,0,499,20$},
{2,500,1999,40$}, //max weight 2Kg
{3,2000,'unlimited','$20'}] //this row holds pricing for every add 500gm
comme vous pouvez le voir, je peux facilement obtenir des tarifs JUSQU'A 2 kg en utilisant simplement entre la requête. Mais quand le poids dépasse 2kg je veux le casser en tranche de 500gm et charger 20 dollars pour chaque tranche. par exemple. Si le poids est de 3300, le prix sera de 40 $ + $ (3 * 20). ne vous inquiétez pas de prix basé sur la localisation. C'est juste pour la simplicité de comprendre ma question j'ai déplacé le prix dans cette table. C'est juste comment déterminer les tranches lorsque le poids donné dépasse la limite.
// 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
Marquez les dbms que vous utilisez. (La plupart des produits dbms ont leurs propres procédures stockées non conformes à ANSI SQL.) – jarlh
Ajoutez les exemples de données de la table et le résultat attendu - sous forme de texte formaté. Montrez-nous également votre tentative de requête actuelle. – jarlh
J'utilise actuellement MS sql. –