select 1 from tb id = @id and pid <> 0
满足条件就有数据,即1,亦即exists为真,不满足条件就是null,亦即exists为假.

解决方案 »

  1.   

    while exists (select 1 from tb where id = @id and pid <> 0)  
    不是返回1,而是满足where id = @id and pid <> 0的时候为true,不满足的时候为false
    1是简写,也可以写成
    while exists (select * from tb where id = @id and pid <> 0)  
      

  2.   

    原来是这样~>.<~!】
    谢谢啦~
    那能麻烦楼上几位大虾能帮我解释下这循环的意思吗~我想实现的是功能是根据父节点查找相应的子节点
    再次请教
    麻烦个