在论坛中出现的比较难的sql问题:28(循环查询表来实现递归)
原文: 在论坛中出现的比较难的sql问题:28(循环查询表来实现递归) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了。 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路。 问题:怎么循环查询一个表 用递归吗? 有2张表B1和B2,B1是主表, B1的BID是对应B2的B2ID, B1和B2d是一对多的关系, B2ID下还有以它为父节点的数据,测试数据如下: B1 BID sname 1266 JM 1286 DM ...... B2 B2ID SID 1266 DH1500 1266 DH1592 1266 DH1595 DH1500 E89876 DH1500 E89896 联合2表查询,要得到这样的结果: MainID SID 1266 DH1500 1266 DH1592 1266 DH1595 DH1500 E89876 DH1500 E89896 这个怎么查?求解 我的方法: if object_id('[B1]') is not null drop table [B1]go create table [B1]([BID] varchar(6),[sname] varchar(2))insert [B1]select '1266','JM' union allselect