J'ai une base de données Oracle 10g dotée de deux tables: une table REBATES et une table ORDERS.Comparaison des plages de valeurs entre deux tables
La table RABAIS ressemble un peu comme ceci:
| rebate_percentage | min_purchase |
------------------------------------
| 1.0 | 5000 |
| 1.5 | 7000 |
| 2.0 | 11000 |
| 5.0 | 20000 |
Je suis en train de déterminer le pourcentage de remise à appliquer, en fonction des commandes totales. Je sais comment trouver la somme de toutes les commandes pour un client particulier, pour un intervalle de temps particulier, mais comment puis-je également saisir le pourcentage de remise, le tout dans une requête?
Par exemple, si le total de la commande est de 16 000, comment puis-je construire une requête qui prend cette valeur, la compare à la table REBATES et renvoie la valeur 2.0?
Vous pourriez avoir à ajouter une logique pour gérer les valeurs NULL pour max_purchase (non 100 % sûr que lead() renvoie pour la dernière ligne, je suppose que NULL) –
@Gordon Linoff: Une chose de plus, si je fais une jointure à la table des commandes, alors seuls les enregistrements sont remplis dont la valeur est mise Si la valeur de la commande est inférieure à la plus basse, la remise doit être de 0. –
@Gordon: S'il vous plaît corriger votre solution: 'ou rebates.max_purchase est null' pas' totalorders is null' +1 pour votre solution :) –