使用select语句插入表时更新值

时间:2015-01-24 20:36:15

标签: sql sql-server tsql ssms

我使用select语句在临时表中插入值,每个语句都调用一个TVF,即

Insert into #Temp(Rownumber, Percentage) select * from dbo.MatchFirstName(@FirstName) 
Insert into #Temp(Rownumber, Percentage) select * from dbo.MatchLastName(@LastName)

FunctionWeights表中,我有weights列和FunctionName列,用于存储不同的函数名称。

dbo.MatchFirstName(@FirstName)dbo.MatchLastName(@lasname)是这里的TVF。现在,我有一个名为FunctionWeights的表,它存储与这些函数名对应的常量值。现在,在将值插入Temp列中的Percentage表之前,我希望它检索与select语句具有的函数名对应的常量值,并将其乘以哪个百分比值从函数中检索到。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

你可以加入表格:

insert  into #Temp
        (Rownumber, Percentage) 
select  mfn.Rownumber
,       mfn.ConstantValue * fw.Percentage
from    dbo.MatchFirstName(@FirstName) mfn
join    FunctionWeights fw 
on      mfn.FunctionName = fw.FunctionName