Mam za zadanie zbudować funkcję skalarną w której argumentem (zmienną) będzie numer samochodu a zwracaną wartością będzie łączny czas trwania wypożyczonego samochodu.

Zrobiłem proste zapytanie

SELECT sum(DATEDIFF ( DAY, WYP.DATA_WYP, WYP.DATA_ODD)) AS 'SUMA DNI', NR_SAMOCHODU
FROM DBO.WYP
WHERE NOT DATA_ODD IS NULL
GROUP BY NR_SAMOCHODU
ORDER BY NR_SAMOCHODU
 

Które wyświetla mi to co chciałbym uzyskać czyli łączny czas wypożyczenia i nr samochodu.

Wiem że muszę utworzyć zmienną lokalną, która będzie wskazywała na nr samochodu, ale nie mam pomysłu jak zmusić SQL przez funkcje skalarną do wyświetlenia całości.

Mógłby mi ktoś podpowiedzieć jak to powinno wyglądać ? Próbowałem tworzyć coś w tym kierunku

CREATE FUNCTION dbo.nrsam (@nrsam int)
RETURNS DECIMAL (16,4)
AS
BEGIN
DECLARE @ilosc DECIMAL (6,0)
SET @ilosc=sum(DATEDIFF ( DAY, WYP.DATA_WYP, WYP.DATA_ODD))
SET @nrsam=WYP.NR_SAMOCHODU		
RETURN @ilosc
END

Jednak pokazuje mi błąd: The multi-part identifier "WYP.DATA_WYP" could not be bound.

Będę wdzięczny za pomoc, lub nakierowanie na rozwiązanie problemu.