O posibila solutie:
DECLARE @id_contract INT
SET @id_contract = 1
DECLARE @nr_rata INT --ultima rata
SET @nr_rata = (SELECT MAX(NR_RATA) FROM RATE WHERE ID_CONTRACT = @id_contract)
DECLARE @data_scadenta_rata DATETIME
SET @data_scadenta_rata = DATEADD(mm,@nr_rata,(SELECT DATA_PRIMEI_RATE FROM CONTRACTE WHERE ID=@id_contract))
DECLARE @data_plata_rata DATETIME
SET @data_plata_rata = (SELECT DATA FROM RATE WHERE ID_CONTRACT = @id_contract AND NR_RATA=@nr_rata)
DECLARE @nr_zile_restante INT
SET @nr_zile_restante = CASE WHEN @data_plata_rata <= @data_scadenta_rata
THEN 0
ELSE DATEDIFF(dd,@data_scadenta_rata,@data_plata_rata)
END
SELECT @id_contract, @nr_rata, @data_scadenta_rata, @data_plata_rata, @nr_zile_restante