如果两张表的vendor_id都是varchar类型,不会出错。

解决方案 »

  1.   

    vendor_id数据库中该字段数据可以特殊字符,"-,/"等,所以不能直接比较,有什么好的解决办法哦?
      

  2.   

    本来是不会出错,问题是现在已有的数据编号里有特殊字符,不是简单的数字和字符组合.导致服务器: 消息 446,级别 16,状态 9,行 1
    无法解决 equal to 操作的排序规则冲突。
      

  3.   

    把特殊字符都替换掉
    eg:replace(vendor_id,',','')
      

  4.   

    不是你吧,你的错误是不是这里呢?select a.vendor_id, b.comp_name from EG_proj_vendor a,EG_PROJ_VENDOR_BASIC b where a.PROJ_ID='P0701' and a.vendor_id =b.vendor_id  别名用了。as。好像不用的,你再试试。是可以比较的。
      

  5.   

    Try:select a.vendor_id, b.comp_name from EG_proj_vendor as a,EG_PROJ_VENDOR_BASIC as b where a.PROJ_ID='P0701' and a.vendor_id COLLATE Chinese_PRC_CI_AS=b.vendor_id COLLATE Chinese_PRC_CI_AS
      

  6.   

    7楼正解,thank you~
    只是还没太明白排序规则collate的作用....