希望我错过了一个简单的解决方案.
我有两张桌子.一个包含公司列表.第二个包含发布者列表.两者之间的映射是多对多的.我想要做的是捆绑或分组表A中与表B中的发布者有任何关系的所有公司,反之亦然.
最终结果看起来像这样(GROUPID是关键字段).第1行和第2行属于同一组,因为它们共享同一家公司.第3行位于同一组中,因为发布者Y已映射到公司A.第4行位于组中,因为公司B已通过发布者Y映射到组1.
简单地说,只要公司和发布商之间存在任何类型的共享关系,就应该将该对分配给同一组.
ROW GROUPID Company Publisher
1 1 A Y
2 1 A X
3 1 B Y
4 1 B Z
5 2 C W
6 2 C P
7 2 D W
Run Code Online (Sandbox Code Playgroud)
更新:
我的赏金版本:鉴于上面简单Company和Publisher成对的小提琴表,填充GROUPID上面的字段.可以将其视为创建Family包含所有相关父母/子女的ID.
SQL Server 2012