日期:2014-05-17  浏览次数:20581 次

问下SQL 查询的执行顺序

有一个表A,
C1    C2

AA     1
AAB    2
AABB   3
A      4


表B
URL   C3

AAA  null
ABB   null
AB   null
AA  null




另外一个要连接这个表A,需要用到列2的数值

  UPDATE  B
   SET b.C3=a.c2
 
 dbo.Table_2 B left join  dbo.Table_1 A on CHARINDEX (A.C1,B.URL,1)>0

怎么没有返回值?

另外一个问题,怎么控制表B 第一列返回值
AAA  null
因为在表B 里面A和AA 都可以返回数值,分别是1 和4 ,我这边有时候需要1 ,有时候需要4,怎么控制呢?

------解决方案--------------------
或者是有char nchar的导致有又空格

试试

CHARINDEX(RTRIM(a.[C1]) , RTRIM(b.URL) , 1) > 0