当前位置: 代码迷 >> Sql Server >> 列前缀 'test1' 与查询中所用的表名或别号不匹配
  详细解决方案

列前缀 'test1' 与查询中所用的表名或别号不匹配

热度:102   发布时间:2016-04-24 11:01:50.0
列前缀 'test1' 与查询中所用的表名或别名不匹配。

update test2 set test2.dScore=isnull((select test1.dScore 
                                      from   test1 
                                      where  test2.cName=test1.cName and test2.cKecheng=test1.cKecheng),0)
where test2.cName=test1.cName and test2.cKecheng=test1.cKecheng

列前缀 'test1' 与查询中所用的表名或别名不匹配。

哪里出问题了,求助?
------解决方案--------------------
“test2.dScore=”改為“dScore=”試試
------解决方案--------------------
UPDATE test2
  SET    test2.dscore = ISNULL(test1.sScore)
  FROM   test1
  WHERE  test2.cName = test1.cName
         AND test2.cKecheng = test1.cKecheng

------解决方案--------------------

UPDATE test2
SET test2.dScore=ISNULL(test1.dScore ,0)
FROM test1 
WHERE test2.cName=test1.cName and test2.cKecheng=test1.cKecheng

------解决方案--------------------

--試試以下:
UPDATE test2 SET dScore = ISNULL(test1.dScore, 0)
from test2
LEFT JOIN test1 on test2.cName = test1.cName AND test2.cKecheng = test1.cKecheng