如果匹配,请将表1的columnA值插入另一个表中

时间:2015-03-14 14:06:46

标签: sql sql-server

我有两张桌子。桌子有4列。并且表B有两列。如果id匹配,我想根据条件从表B的一列插入一列tabel A的值。 我怎么能这样做?例如,如果第二个表中的[Movieid] =第二个表中的[IMDBid],则在表2中插入表1 = [CB]的[count]。 我想为全桌做一次。 [专栏] - >这些是colums 我正在使用sql server。

表格1:Movieid,伯爵, 表2:IMDBid,CB 我想要的结果:我想在计数中插入CB列的值,其中Movieid = IMDBid

表格1: (Nick Id,MovieId,Rating,MovId) - > (1,4972,6.25,?)(1,24216,7.25 ,?) 表格2: (Imdbid,标题,ImdbPyId,ID) - > (4972,你好,32450,1)(24216,喜62450,2)

使用值Id(tabel2)插入/填充MovId(tabel1)的值,其中MovieId(tabel1)== Imdbid(tabel2)

2 个答案:

答案 0 :(得分:0)

你可以这样做,

   UPDATE tabl1
   SET count = (SELECT CB FROM tabl2 WHERE IMDBid = Movieid)

但如果您从subquery返回多个值,那么它会爆炸。

因此,请确保使用适当的函数从该子查询中获取单个值,以满足您的要求。

如果您的表格有1:1关系,则应该没问题。但是如果它是1:n那么你需要使用aggragate函数或该子语句中的TOP 1子句。

答案 1 :(得分:0)

解决方案是UPDATE tabl1    SET count =(SELECT CB FROM tabl2 WHERE IMDBid = Movieid)