在SQL中的Update语句中使用set in value

时间:2017-08-07 21:04:48

标签: sql sql-server

我有以下Update表语句正在进行连接..我无法看到连接结果。

update #FeesCalculation 
        set BasedOn = A.BasedOn
        from FeeMapping A
        where A.ServiceId = ItemId

如果我直接输入值,我可以看到列正在更新。

update #FeesCalculation 
            set BasedOn = 'Test'
            from FeeMappingSid A
            where A.ServiceId = ItemId

有人可以告诉我第一次sql查询中缺少的是什么。

由于

2 个答案:

答案 0 :(得分:1)

您需要正确的加入

update #FeesCalculation 
   set #FeesCalculation.BasedOn = A.BasedOn
  from #FeesCalculation 
  join FeeMappingSid A
    on A.ServiceId = #FeesCalculation.ItemId

答案 1 :(得分:1)

  

我有以下正在进行连接的Update表语句。

不,它没有加入。我对任何查询运行都感到惊讶。你想要这个:

UPDATE fc
SET fc.BasedOn = fm.BasedOn
FROM #FeesCalculation fc 
INNER JOIN FeeMappingSid fm  ON fm.ServiceId = fc.ItemId

现在你已经加入了。