Вам нужно написать многошаговую функцию, вы не можете сделать это
встроенная функция.
CREATE FUNCTION GetPayCodeList
(
-- Add the parameters for the function here
@PC varchar(50)
)
RETURNS @table TABLE (ID int NOT NULL,
... //others fields ) AS
BEGIN
IF @PC = '*'
INSERT @table (SELECT DISTINCT ID, Code, Description
FROM tbl) FROM tbl
ELSE
INSERT @table ( SELECT DISTINCT ID, Code, Description
FROM tbl
WHERE Code = @PC) FROM tbl
RETURN @table
END