有两个表,一个是业务信息 里面有两个字段 线路编号 和 途径 ,还有一个表是线路表,里面也有两个字段,线路编号和线路名称。在业务信息表中 途径是这样表示的:邯郸=>石家庄 ,在线路表中 线路名称是这样的
邯郸-石家庄//无。我想把业务信息表中的线路编号给成线路表中的相应线路的编号。请大侠们说说SQL该怎么写,谢谢

解决方案 »

  1.   

    UPDATE 业务信息表
    SET 线路编号 = B.线路编号 
    FROM 业务信息表 A, 线路表 B
    Where Left(A.途径,charindex('=>',A.途径) -1) = LEFT(B.线路名称,charindex('-',B.线路名称) - 1) and charindex(B.线路名称,right(A.途径,len(A.途径) - charindex('=>',A.途径) - 2)) > 0
      

  2.   

    谢谢楼上的讲解,我运行后说  传递到 SUBSTRING 函数的长度参数无效,哪里的问题啊
      

  3.   

    UPDATE 业务信息
    SET 线路编号 = B.线路编号 
    FROM 业务信息 A, 小件线路表 B
    Where Left(A.途径,charindex('=>',A.途径) -1) = LEFT(B.线路名称,charindex('-',B.线路名称) - 1) and charindex(B.线路名称,right(A.途径,len(A.途径) - charindex('=>',A.途径) - 2)) > 0我就是在二楼的基础上稍微改了点
      

  4.   

    消息 536,级别 16,状态 5,第 1 行
    传递到 SUBSTRING 函数的长度参数无效。
    语句已终止。
    这是报的错误