I use this query, but it does not work:
create FUNCTION getUserCreditPayment
(
@resellerCode int,
@userCode int,
@startDate datetime,
@endDate datetime
)
RETURNS TABLE AS
RETURN(
WITH Directories AS
(
CASE
WHEN (@userCode != 0)
THEN
(SELECT *
FROM UserCredit
WHERE userCode = @userCode
AND date >= @startDate AND date < @endDate
UNION ALL
SELECT code, date, price* - 1,
userCode, userCodeDes, customerUserName, type
FROM UserPayment
WHERE userCode = @userCode
AND date >= @startDate AND date < @endDate)
ELSE
(SELECT *
FROM UserCredit
WHERE userCode = @userCode
AND date >= @startDate AND date < @endDate
UNION ALL
SELECT code, date, price* -1,
userCode, userCodeDes, customerUserName, type
FROM UserPayment
WHERE date >= @startDate AND date < @endDate)
END
)
SELECT *
FROM Directories
)