SQL大神帮忙解决个问题

表结构
ID,NAME,PARENTID
1,动物,null
2,猫,1
3,狗,1
4,人类,null
5,亚洲人,4
6,非洲人,4
7,狼,1
8,猪,1
9,美洲人,4
10,植物,null
11,月季,10
SELECT查询结果让数据分好组,
就是比如说这个例子里id号7和8弄到猫和狗下面。
因为实际问题是新插入一条数据可能父节点是1或者4,但是希望查询结果是分好组的
这个用SQL怎么实现?

你说的应该是树形结构!因为SQLServer用的比较少。所以不太了解,你可以搜索下SQLServer树形结构!

不知道这样的结果,你需不需要哦
SQL如下:
create table t_a(
ID int primary key,
NAME varchar(50),
PARENTID int
)

insert t_a(
ID,
NAME,
PARENTID
)
select 1,'动物',null union all
select 2,'猫',1 union all
select 3,'狗',1 union all
select 4,'人类',null union all
select 5,'亚洲人',4 union all
select 6,'非洲人',4 union all
select 7,'狼',1 union all
select 8,'猪',1 union all
select 9,'美洲人',4 union all
select 10,'植物',null union all
select 11,'月季',10

----------查询语句
select a.ID,
a.NAME as PARENTNAME,
t.ID AS CHILDID,
t.NAME AS CHILDNAME
from t_a a
inner join (select DISTINCT t.ID,
t.NAME,
t.parentID
from t_a t left join (select PARENTID
from t_a )t1 on t.ID=t1.PARENTID) t
on A.ID=T.PARENTID
ORDER BY t.parentID