create table art(
    id int primary key ,
    artname varchar(10),
    isright varchar(2)
);
insert into art values(1,'A','N');
insert into art values(2,'A_1','Y');
insert into art values(3,'A_2','Y');
insert into art values(4,'B','Y');
insert into art values(5,'B_1','Y');
insert into art values(6,'B_2','Y');
insert into art values(7,'B_3','N');
insert into art values(8,'B_1_1','Y');
insert into art values(9,'B_1_2','N');
insert into art values(10,'B_3_1','Y');create table relations(
   parentid  int ,
   childid  int 
);
insert into relations values(1,2);
insert into relations values(1,3);
insert into relations values(4,5);
insert into relations values(4,6);
insert into relations values(4,7);
insert into relations values(5,8);
insert into relations values(5,9);
insert into relations values(7,10);现在我要找出art表中isright='Y'的记录,但是有个条件是必须是他的父类中isright='Y'才行,
如 id =2 ,id=3 的记录虽然他满足条件但他的父类id=1(isright='N')不满足条件,所以id = 2 与 id = 3 不要,
也就是说在检索art表中数据时如果父类满足条件则检索该父类,同时再检索父类下面满足条件的子类,如果父类不满足条件则子类全部不检索,如果子类满足条件则检索子类,同时再检索子类下面满足条件的子子类,如果子类不满足条件则子子类也全部不检索,以此类推。
在本例中我最终要检索的记录的id为4,5,6,8这四条。