update TableA
set custname=srv_lnk.TableB.dbo.custtable.custname
from TableA,[srv_lnk.TableB.dbo.custtable]
where ltrim(rtrim(TableA.id))=ltrim(rtrim([srv_lnk.TableB.dbo.cysttable].id))出错为:
erver: Msg 117, Level 15, State 2, Line 3
The number name 'srv_lnk.TableB.dbo.custtable' contains more than the maximum number of prefixes. The maximum is 3.请问要如何改才可以呢? 请高手帮忙,谢谢.
set custname=srv_lnk.TableB.dbo.custtable.custname
from TableA,[srv_lnk.TableB.dbo.custtable]
where ltrim(rtrim(TableA.id))=ltrim(rtrim([srv_lnk.TableB.dbo.cysttable].id))出错为:
erver: Msg 117, Level 15, State 2, Line 3
The number name 'srv_lnk.TableB.dbo.custtable' contains more than the maximum number of prefixes. The maximum is 3.请问要如何改才可以呢? 请高手帮忙,谢谢.
set custname=a.custname
from TableA,[srv_lnk.TableB.dbo.custtable] a
where ltrim(rtrim(TableA.id))=ltrim(rtrim(a.id))
set custname=t.custname
from TableA,[srv_lnk.TableB.dbo.custtable] t
where ltrim(rtrim(TableA.id))=ltrim(rtrim(t.id))
erver: Msg 446, Level 16, State 9, Line 1
Cannot resolve collation conflict for equal to operation.
表的数据不唯一
==========================================
Cannot resolve collation conflict for equal to operation.
这个错误的意思是说,这两个列的排序规则不同,那就无法比较了。
就比如说一个规则是区分大小写,另外一个是不区分大小写,那么你说A和a到底是等还是不等呢?
这个时候就需要你指定排序规则了!在最后面加上“Collate [适合你的排序规则]”一般中文版的SQLServer的Varchar,Char字段的用Chinese_PRC_CI_AS(大小写不敏感的)或Chinese_PRC_CS_AS(大小写敏感的)排序规则就可以了。一个是CI(Case Insensitive),另外一个是CS(Case Sensitive)!至于“排序规则”是什么,你可以查一下SQLServer的联机帮助。
===========================================
这个应该是在ltrim(rtrim(TableA.id))=ltrim(rtrim(t.id))之后,并不是每个查询都是放在最后的,并不是放在Where条件之后。