Не описаны ситуации, когда нет информации о количестве продуктов на складе или, наоборот, на складе продукт есть, а вот в прейскуранте нет информации о его цене.
Если исходить из предположения, что прейскурант первичен или данные всегда консистентны, то так:
SELECT
`table_products`.`name` AS 'name',
`table_warehouse_products`.`quantity` AS 'quantity',
`table_products`.`price` AS 'price',
`table_warehouse_products`.`quantity`*`table_products`.`price` AS 'total'
FROM
`table_products`
LEFT JOIN `table_warehouse_products` ON (`table_warehouse_products`.`product_id`=`table_products`.`id`)