父子分类关系查询使用的SQL语句介绍


  本文标签:SQL 语句

  SQL数据库中,如果需要查询父子分类关系,使用SQL语句应该如何实现呢?下面就将为您介绍父子分类关系查询使用的SQL语句的写法,供您参考  。

  例子如下图:

  

  查询出来的结果多加一列,这一列的值为,当icode_ind有子分类,则该列的值为1,否则为0  。是否有子类,看一下那表就很明显我的规则了  。

  实现的SQL语句:

  1.

select a.iCode_ind,a.icode,
case when b.iCode_ind is null then 0 else 1 end
from TabA a outer apply (select top 1 iCode_ind from TabA
where icode_ind like a.icode_ind+% and icode_ind<>a.icode_ind) b

  2.

select *,case when exists(select 1 from tb
where iCode_ind<>t.iCode_ind
and iCode_ind like t.iCode_ind+%)
then 1 else 0 end
from tb t

  3.

select iCode_ind,icode,col=case when exists(select 1 from 表名 where iCode_ind like a.iCode_ind+% and iCode_ind!=a.iCode_ind) then 1 else 0 end
from 表名 a