为什么
update jingzi set jingzi.zchanliang=isnull((select daidong from table1 where id1=table1.id1-1),0) from table1 where
jingzi.id1=table1.id1
结果总是不对
我变成
update jingzi set jingzi.zchanliang=isnull((select daidong from table1 where id1=TEP.id1-1),0) from table1 AS TEP where
jingzi.id1=table1.id1
结果就对了 为什么啊
update jingzi set jingzi.zchanliang=isnull((select daidong from table1 where id1=table1.id1-1),0) from table1 where
jingzi.id1=table1.id1
结果总是不对
我变成
update jingzi set jingzi.zchanliang=isnull((select daidong from table1 where id1=TEP.id1-1),0) from table1 AS TEP where
jingzi.id1=table1.id1
结果就对了 为什么啊
这里id1=table1.id1-1,后边这个id指代不明,table1到第代表这里的呢,还是外边那个呢,
所以需要在外边的table1取别名来以示区别
sqlserver不知道‘id1=table1.id1-1’中的‘id1’到底属于哪个。
所以需要给其中一个table1取别名以示区别
人家凭什么知道这个table1指的是外边from table1那个table1阿,
人家还以为是里面这个表自己跟自己关联呢。:)
这也没有区分开啊
其实上是当作两张表来运行检索的,明白么