Do you have more than two tables containing prices (you mention "several")? Do you already have the tables linked with some main table so that they are returning accurate data?
You could replace each price field with a formula like this:
//{@priceA}:
if isnull({tableA.price}) then
999999999 else
{tableA.price}
Then you can use a formula like this to return the lowest value:
minimum([{@priceA},{@priceB},{@priceC}])
-LB