delete * from table1 where (name='a' or name='b' or  parentid
=(select id from table1 where name='a') or parentid
=(select id from table1 where name='b') )

解决方案 »

  1.   

    方法两种 大同小异(都是递规)
    1 通过parentid 查找 所属项 直到为空 开始删除
    2 每 查找一到一个 那么可以将字符串累加(字符串是delete语句where 语句) 这样数据库只要执行一次
      

  2.   

    我只是举了个例子,楼主很简单得就能看出来,做一个删除一个得存储过程,只要把name的值传进去就行了,
      

  3.   

    bitsbird(一瓢.net) 解决办法 是不错 刚才我没有转过弯来
    不过 下面跟这这句话 有点感觉小家子气了!!呵呵 有什么得罪的 见谅 
    大家本着讨论问题的态度
      

  4.   

    再添加一句 如果只是一个以子查询的 sql语句 
    小弟才疏学浅 还是认为不幸 毕竟不知道节点的深度 
    是么??