SQL Rollup层次结构最近

时间:2017-05-26 21:54:54

标签: sql

enter image description here

我有以下情况。如您所见,Levels(1) - ItemNumber(NULL)是传入的数字,下面列出的所有数字都与主要数字相关联。 最终,我想要做的只是获得以下行 第2和4,5,6行 由于第2行没有任何子行,而且USDAFoodItemID不为空

和4,5,6父行3确实有子节点,因为第3行为空, 4,5,6的孩子将吐出来。

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

对不起我的英语,我还在努力。但是帮助是普遍的,我将不胜感激任何帮助。

1 个答案:

答案 0 :(得分:0)

抱歉,这是生成表格的代码。我正在使用MS SQL

DECLARE @HoldTable TABLE ( 级别INT, ItemNumber INT, IngredientNumber INT, NutritionalLoss FLOAT, StandardAmountInGrams FLOAT, SequenceNumber INT, USDAFoodItemID NVARCHAR(5) )

INSERT INTO @HoldTable VALUES(1,NULL,1174258,1.0000,113.3980925,1,NULL) 插入@HoldTable VALUES(2,1174258,1174252,1.0000,113.3980925,1,09096) 插入@HoldTable VALUES(3,1174252,1006967,1.0000,56.69904625,1,02997) INSERT INTO @HoldTable VALUES(3,1174252,1174251,1.0000,56.69904625,1,NULL) 插入@HoldTable VALUES(4,1174251,1007555,1.0000,1.41747615625,1,12078) INSERT INTO @HoldTable VALUES(4,1174251,1010210,1.0000,26.93204696875,1,NULL) INSERT INTO @HoldTable VALUES(4,1174251,1010984,1.0000,28.349523125,1,NULL)

SELECT * FROM @HoldTable

谢谢