id parentid
1 0
2 0
3 0
4 1
5 2
如格式如上,
要求不太好解释,总之需要筛选出ID为4、5、3的项目。
因为ID4,5有父项目分别为ID1,2所以ID1,2不显示
而ID3无子项目,所以列出来求SQL语句,请注意平台是mysql
1 0
2 0
3 0
4 1
5 2
如格式如上,
要求不太好解释,总之需要筛选出ID为4、5、3的项目。
因为ID4,5有父项目分别为ID1,2所以ID1,2不显示
而ID3无子项目,所以列出来求SQL语句,请注意平台是mysql
create table tb(id int,parentid int)
insert into tb values(1 ,0)
insert into tb values(2 ,0)
insert into tb values(3 ,0)
insert into tb values(4 ,1)
insert into tb values(5 ,2)
goselect * from tb t
where exists(select 1 from tb m where t.parentid = m.id)
or
not exists(select 1 from tb n where t.id = n.parentid)drop table tb/*
id parentid
----------- -----------
3 0
4 1
5 2(所影响的行数为 3 行)
*/
insert into tb values(1 ,0)
insert into tb values(2 ,0)
insert into tb values(3 ,0)
insert into tb values(4 ,1)
insert into tb values(5 ,2)
goselect t.* from tb t
where exists(select 1 from tb m where t.parentid = m.id)
or
not exists(select 1 from tb n where t.id = n.parentid)drop table tb/*
id parentid
----------- -----------
3 0
4 1
5 2(所影响的行数为 3 行)
*/