Granted that this code is perverse (I cooked it up on my lunch hour, in a bit of a rush), but I think it does exactly what you've requested. Please try it out and see if you agree.
PHP Code:
CREATE TABLE tDiscount (
amount MONEY NOT NULL
, discount DECIMAL (3, 2) NOT NULL
)
INSERT INTO tDiscount (amount, discount)
SELECT 0, 0.01
UNION SELECT 10, 0.02
UNION SELECT 100, 0.03
CREATE TABLE tSample (
amount MONEY NOT NULL
)
INSERT INTO tSample (amount)
SELECT 1
UNION SELECT 5
UNION SELECT 10
UNION SELECT 50
UNION SELECT 100
UNION SELECT 500
UNION SELECT 1000
SELECT *
FROM tSample AS s
JOIN tDiscount AS d
ON (d.amount <= s.amount)
WHERE d.amount = (SELECT Max(d1.amount)
FROM tDiscount AS d1
WHERE d1.amount <= s.amount)
DROP TABLE tDiscount
DROP TABLE tSample
Note that this is ugly code from a data modeling perspective, but I still think it will acheive your stated goals with tolerable efficiency.
-PatP