Primero obtendría el Máximo y el mínimo y realizaría un JOIN
    
Código SQL:
Ver originalSELECT  DISTINCT    T1.IMDB_ProductID AS IMDB_Producto, T1.NSO_ProductID AS NSO_Producto, T1.ProductName AS Producto, T1.VariableValue, 
                    T2.ValorMax, T2.ValorMin, T1.ValorMed
FROM         Audited_Facts_Regular T1
INNER JOIN 
        (SELECT IMDB_ProductID, MAX(VariableValue) AS ValorMax, MIN(VariableValue) AS ValorMin,  AVG(CONVERT(money, VariableValue, 0)) AS ValorMed FROM Audited_Facts_Regular
                WHERE     (VariableName LIKE '%offer%'OR  VariableName LIKE '%regular%') AND IMDB_ProductID=178399
                GROUP BY IMDB_ProductID) T2 
        ON T1.IMDB_ProductID = T2.IMDB_ProductID
WHERE     (T1.VariableName LIKE '%offer%'OR  T1.VariableName LIKE '%regular%')
AND T1.IMDB_ProductID=178399
GROUP BY T1.VariableValue, T1.IMDB_ProductID, T1.NSO_ProductID, T1.ProductName
ORDER BY  T1.Producto ASC
  
Espero te sirva.