SQL查询 - N级层次结构 - 仅返回父级和最后一个子级

时间:2015-09-06 04:05:48

标签: sql sql-server sql-server-2014

我有一个多级层次结构数据。 我想使用sql查询将所有内容组合成两个级别。 我想要返回第一个父级和数据的最后一个孩子

PID     CId     Name
Null    1       Electronics
1       2       Laptop
2       3       Toshiba
1       4       Mobile
4       5       Samsung

我需要像这样的结果

PID     CId     Name
Null    1       Electronics
1       3       Toshiba
1       5       Samsung

1 个答案:

答案 0 :(得分:-1)

使用此tutorial我只为您创建 第一个 递归CTE。

这里的技巧是将行标记为select * from $table ... 并将该值传递给递归部分。

最后SuperClass object = (SuperClass) Class.forName(specificClassName).newInstance(); 有两个过滤器

  • BigBoss显示父项。
  • where显示没有孩子的项目

SQL Fiddle Demo
小提琴显示你的愿望输出,但如果你解开代码,你可以看到完整的结果,以便更好地理解。

PID IS NULL

结果:

OR  NOT EXISTS