SQL汇总层次结构

SQL汇总层次结构,sql,Sql,我有下面的场景。正如您可以看到的级别(1)–ItemNumber(NULL)是传入的编号,下面列出的所有编号都与主编号关联。 最终,我只想得到以下行 第2行和第4、5、6行 因为第2行没有任何子行,并且USDAFoodItemID不为null 4,5,6父行3确实有子行,因为第3行为空, 4、5、6岁的孩子会被吐出来 如果第1行填充了USDAFoodItemID,那么它只会吐出第1行 对不起我的英语,我还在努力。但是帮助是通用的,我将非常感谢能得到的任何帮助。对不起,这是生成表的代码。我正在使用

我有下面的场景。正如您可以看到的级别(1)–ItemNumber(NULL)是传入的编号,下面列出的所有编号都与主编号关联。 最终,我只想得到以下行 第2行和第4、5、6行 因为第2行没有任何子行,并且USDAFoodItemID不为null

4,5,6父行3确实有子行,因为第3行为空, 4、5、6岁的孩子会被吐出来

如果第1行填充了USDAFoodItemID,那么它只会吐出第1行


对不起我的英语,我还在努力。但是帮助是通用的,我将非常感谢能得到的任何帮助。

对不起,这是生成表的代码。我正在使用MS SQL

声明@HoldTable表 ( 级别INT, ItemNumber INT, IngredientNumber INT, 营养损失浮动, 标准油缸浮动, SequenceNumber INT, USDAFoodItemID NVARCHAR(5) )

插入@HoldTable值(1,NULL,1174258,1.0000,113.3980925,1,NULL) 在@HoldTable值中插入(2,1174258,1174252,1.0000,113.3980925,1,09096) 插入@HoldTable值(3,1174252,1006967,1.0000,56.69904625,1,01297) 插入@HoldTable值(3,1174252,1174251,1.0000,56.69904625,1,NULL) 插入@HoldTable值(41742521007555,1.0000,1.41747615625,112078) 插入@HoldTable值(4174251010210,1.0000,26.93204696875,1,NULL) 插入@HoldTable值(4174511010984,1.0000,28.349523125,1,NULL)

从@HoldTable中选择*


谢谢

您能发布您的代码吗?您使用的是哪种数据库管理系统?请阅读并接受回答对不起,这是生成表格的代码。