Creo que agregar la siguiente expresión de caso a su declaración de selección debería hacerlo:
CASE WHEN
SUM(LandingDetails.Quantity * LandingDetails.UnitPrice)
-
SUM(LandingDetails.Quantity * LandingDetails.UnitPrice) * DeductionRate + WeeklyDeductionRate
> FromMinimumReturn
THEN SUM(LandingDetails.Quantity * LandingDetails.UnitPrice) * DeductionRate + WeeklyDeductionRate
ELSE 0 END
AS TotalDeductions
Sin embargo, esto tiene mucho código repetitivo (el cálculo de la deuda), por lo que envolvería la consulta original en una expresión de tabla común y lo haría así:
WITH cte AS (
<<<your original query here>>> -- I left it out to save space...
)
SELECT
ContactId,
Owed,
WeeklyDeductionRate,
FromMinimumReturn,
DeductionRate,
CASE
WHEN Owed - (Owed * DeductionRate + WeeklyDeductionRate) > FromMinimumReturn
THEN Owed * DeductionRate + WeeklyDeductionRate
ELSE 0 END
AS TotalDeductions
FROM cte
Esto volverá a las Deducciones Totales calculadas si al restarlo de la Deuda deja un resultado superior a FromMinimumReturn; de lo contrario, devolverá 0 para las Deducciones Totales.