CREATE OR REPLACE VIEW Stock_Available_View AS SELECT sb.productId, sb.inventoryId, sb.quantity AS physicalQuantity, COALESCE(SUM(sr.quantity), 0) AS reservedQuantity, ( sb.quantity - COALESCE(SUM(sr.quantity), 0) ) AS availableQuantity FROM Stock_Balance sb LEFT JOIN Stock_Reservations sr ON sr.productId = sb.productId AND sr.inventoryId = sb.inventoryId GROUP BY sb.productId, sb.inventoryId, sb.quantity;