Если одна строка генерирует один результат:
CREATE FUNCTION f(x int) RETURNS int AS BEGIN
RETURN x * 2
END
GO
SELECT id, x, dbo.f(x) FROM my_table
Если одна строка может генерировать более одного результата:
CREATE FUNCTION f(x int) RETURNS @r TABLE(result int) AS BEGIN
INSERT INTO @r VALUES(x)
INSERT INTO @r VALUES(x * 2)
RETURN
END
GO
SELECT t.id, t.x, r.result FROM my_table t CROSS APPLY dbo.f(t.x) r