If you are looking to simulate a computed column across three tables (and it sounds as if you are), consider a view:
USE tempdb;
GO
-- Three related tables
CREATE TABLE dbo.T1 (PK INT IDENTITY PRIMARY KEY, A INT NULL);
CREATE TABLE dbo.T2 (PK INT IDENTITY PRIMARY KEY, B INT NULL);
CREATE TABLE dbo.T3 (PK INT IDENTITY PRIMARY KEY, C INT NULL);
GO
-- Sample data
INSERT dbo.T1 (A) VALUES (1), (2), (3);
INSERT dbo.T2 (B) VALUES (-4), (-5), (-6);
INSERT dbo.T3 (C) VALUES (14), (28), (36);
GO
-- View to create a sort of 'cross-table' computed column
-- Index the view if appropriate, to materialize the 'computed column'
CREATE VIEW dbo.V
WITH SCHEMABINDING
AS
SELECT T1.PK,
Value = T1.A * PI() + T2.B + LOG10(T3.C)
FROM dbo.T1
JOIN dbo.T2 ON T2.PK = T1.PK
JOIN dbo.T3 ON T3.PK = T2.PK;
GO
-- Show the contents of the view
SELECT PK, Value
FROM dbo.V;
GO
-- Tidy up
DROP VIEW dbo.V;
DROP TABLE dbo.T1, dbo.T2, dbo.T3;
Do not be tempted to use a T-SQL UDF to access data. Bad things will happen to you. 😉
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi