2
我标杆表这样在MSSQL滤波器行基于ID存在于一个列作为逗号分隔的字符串
BMID TestID BMTitle ConnectedTestID
---------------------------------------------------
1 5 My BM1 0
2 6 My BM2 5
3 7 My BM3 5,6
4 8 My BM4 10,12,8
5 9 My BM5 0
6 10 My BM6 3,6
7 5 My BM7 8,3,12,9
8 3 My BM8 7,10
9 8 My BM9 0
10 12 My BM10 9
---------------------------------------------
在解释表一点
这里TestID和连接TestID是扮演角色。如果用户想要对TestID所有的基准3
它应该返回行,其中testID = 3,并且还如果
这意味着具有具有逗号分隔值中那个testID在它connectedTestID列中的任何行,如果用户指定值3作为testID,它应该返回
---------------------------------------------
8 3 My BM8 7,10
7 5 My BM7 8,3,12,9
6 10 My BM6 3,6
--------------------------------------------
希望清楚它们是如何返回这3行的。意思第一行是因为testID 3在那里。另外两行,因为3在其connectedIDs单元中
不幸的是我一直要求不要触摸结构的现有表格。唯一允许的是使用一个没有使用任何东西的列。有了这种情况,我想这是唯一的解决方案...非常感谢解决方案 –
@sforsandeep。 。 。关键是你应该使用*另一个*表。存储列表根本不需要对该表进行任何更改(当然,将TestId作为某个表的主键是很有帮助的,因此您可以声明外键关系)。 –
这是真的先生..但不幸的是,我不被允许为该场景创建另一个表。我完全按照您的说法提供了另一张桌子的解决方案。但我不知道我的老板被说只用这个表来提供解决方案。因此,我想出了这个想法.. –