我正在尝试编写一个查询,该查询将返回表中最接近的匹配项。该表表示一个层次结构,如下所示:
Hier_Code Group1 Group2 Group3
_________ ______ ______ ______
A 1 1 5
AA 1 2 5
AAA 1 2 5
AAB 1 3 5
AB 2 3 5
ABA 2 3 5
ABB 2 3 5
我正在搜索的值可能不完全匹配,在这种情况下,我希望它们“汇总”到下一个级别以找到匹配项。例如:
Value Returns:
A 1 1 5 (Perfect match)
AAC 1 2 5 (AA is closest)
AABB 1 3 5 (AAB is closest)
这个想法是,您将一次从搜索词中删除一个字符,直到找到匹配项。我试过用递归 CTE 做这个,也用 WHILE 循环无济于事。
有什么建议么?
提前致谢