You can create the report by using LEFT JOIN
within a Stored Procedure where month and year for which report is needed, can be passed as parameter as below:
SQL Server:
CREATE PROCEDURE GetSalesReport
@month INT,
@year INT
AS
SELECT isa.Item_ID,
isa.Name,
isa.Store,
isa.Sales_Date,
COALESCE(id.Sales_Price, isa.Sales_Price) AS SalesPrice,
isa.Quantity
FROM ITEM_SALES AS isa
LEFT JOIN ITEM_DISCOUNT AS id
ON isa.Item_ID = id.Item_ID
AND isa.Name = id.Name
AND isa.Store = id.Store
AND isa.Sales_Date BETWEEN id.Date_From AND id.Date_To
WHERE MONTH(isa.Sales_Date) = @month AND YEAR(isa.Sales_Date) = @year