MSSQL:我有这个示例数据:
NAME AValue BValue
A 1 11
B 1 11
C 2 11
D 2 21
E 3 21
F 3 21
G 4 31
H 4 31
I 5 41
J 5 NULL
...
我正在寻找algorhitm,它查找由不同种子(AValue和Bvalue)的值关闭的所有名称,在这种情况下种子由AValue给出2,Bvalue给出3,但是这可以跳过并在后面给出所以,不仅要寻找最小的倍数)。在这种情况下,输出应为1,2,3,4,11,21,31作为第一组/结果。然后可以更新具有这些值的所有名称等。
我需要通过不同的种子找出值的“闭环”中的所有名称。
编辑: (尝试更简单的例子)
想象一下,你有名单。每个名称都有两个数字。在大多数情况下,这些数字是由一些种子给出的(在这个例子中AValue给出两次,BValue三次),但是有些数字可以跳过,所以你不能只计算这些不同种子的最小倍数(在这种情况下,它将是2x3,你有6个名字已关闭组,其中没有名字包含下一个/不同组的AValue或BValue)。例如,名称A具有1和11. 1给出A和B,11给出A,B,C。这些名称具有1,2,11,21。所以你检查2和21,然后你得到E和F,然后检查循环应该继续,但只要不再包含名称,应该输出1,2,3,11,21。 “封闭圈”