I'm not quite sure what this type of query is, I thought perhaps a CASE
statement or do I use BETWEEN
? This is the data I have:
| SKU | QTY | PRICE |
| ------------ | ------------ | ------------ |
| SKU-1 | 1 | 12.50 |
| SKU-1 | 5 | 11.00 |
| SKU-1 | 10 | 10.00 |
| SKU-1 | 15 | 8.50 |
It is basically what you would see on an ecommerce website when buying products. I want to fire in a qty & sku to this query (let's say 3), it would then know that 3 is between 1 and 5 and return me 37.50 or if a customer orders 12 it would return 120.00 etc.
As an update, this is how far I got:
DECLARE @sku nvarchar(50)
DECLARE @qty int
SET @sku = 'SKU-1'
SET @qty = 5
SELECT TOP 1 (price * @qty) FROM global_tier_pricing WHERE sku = @sku
This works until I send in a qty of 5, I would expect it to be (5*11) and be 55.00 but it says 62.50
1条答案
按热度按时间uyto3xhc1#
Assuming you can only have one price for a given sku and qty, you can filter for the right price in the
where
clause before the arithmetic