SQL服务器2008计算列
问题描述:
这是我在计算机列规范式中的表中调用贷款SQL服务器2008计算列
(dateadd(month,(1),[CheckOutDate]))
的(1)应当由loan_period
从另一个表来替换称为item_details
。
这是可能的,公式看起来如何。据我所知,
答
您可以创建一个计算列,该列使用一个函数,然后引用另一个表。
例如
create table t (
a int primary key,
b int
)
GO
create function dbo.f(@a int)
returns int
as
begin
return (select b from t where a = @a);
end
GO
create table t2 (
c int primary key,
d as dbo.f(c)
)
GO
insert into t values (1, 2)
insert into t2 (c) values (1)
select * from t2
N.B.在做这件事时你应该考虑性能方面的考虑,并且确保至少你有正确的索引。
您需要为此创建一个UDF - 两个表之间的关系是什么? – sgeddes 2013-02-24 00:24:21
如果您需要计算此字段,我会创建一个db函数,并在插入新记录或需要时更新字段时使用触发器更新字段。 [MS SQL](http://msdn.microsoft.com/en-us/library/ms189799.aspx) – 2013-02-24 00:27:15
@sgeddes好的感谢清除 – Dynamiite 2013-02-24 01:41:37