The discount and charge rules do not work like this. If you wanted to do it like this with a recordset it will be a custom implementation. You can only work with static values or session variables in a discount or charge rule.
If you setup these values so that they are added to the cart you could potentially use subtotals for the various columns to create the discount but each product having it's own discount percentage would not be something that would be easily handled.
If you are up to the custom approach you could add in a cart loop to your cart page before the display and have the recordset inline in the loop. You could then use the current item id as the filtering value for the recordset and do the calculation for the discount on a per item basis and store the result in one or more session variables. You could then use this session variable or variables in your discount rule to apply the discount to the cart.