--TRY
UPDATE Station                                                      
                SET  linknum = s.linknum  FROM #back b join Station s ON S.stationID = b.stationID 

解决方案 »

  1.   

    用括号把linknum=后面的语句括起来,如果不是一个值就用in.
      

  2.   

    update station set linknum=(select id from town where townname=a.stationname) from station a
      

  3.   

    错啦!
    UPDATE Station                                                      //中linknum 更新过来 
    SET  linknum = (SELECT linknum  FROM #back jion Station ON Station.stationID = #back.stationID )
      

  4.   

    注意,town.id 与 station.linknum 的数据类型必须一致.
      

  5.   

    错了很多地方,
    首先,SET  linknum =后面如果接了个子查询,则这个子查询必须用括号括起来:SET  linknum =(select xxx...)
    如果这个子查询可能返回多个值,还得加top: SET  linknum =(select top 1 xxx....)其次,update语句不能这么写,语法不对。
    可以这么写:
    UPDATE Station                                                    
    SET  linknum = a.linknum
    FROM #back a
    where Station.stationID = a.stationID--or
        
    UPDATE b                                                    
    SET  linknum = a.linknum
    FROM #back a join Station b
    on a.stationID = b.stationID
      

  6.   


    若Station表中stationName和表Town中的townName相同,则把Station表中linknum更新为和Town表中的ID相同。 update station
    set linknum=town.id
    from station,town
    where station.stationname=town.townname
      

  7.   

    update a set a.x=b.y from ta a inner join tb b on a.id=b.id没有
    update ta set a.x=select y from tb ..这种写法

    update a set a.x=(select y from tb where id=a.id) from ta a
    这种写法也不推荐
    当然,第一种写法等价于 from ta a,tb b where ...