我已经搜索了网络,但我确定我不能正确地措词我的关键字,因为我没有找到我的问题的可能解决方案。认为这可能是递归,但我不太确定。SQL Server 2012 - 一点指导
我有有以下几类表:
ID, Author, Customer, Group
的样本数据集将是这样的:
ID | Author | Customer | Group
------------------------------------------
1 | Paula Hawkins | John Doe | NULL
2 | Harlan Coben | John Doe | NULL
3 | James Patterson| John Doe | NULL
4 | Paula Hawkins | Jane Doe | NULL
5 | James Patterson| Jane Doe | NULL
6 | James Patterson| Steven Doe| NULL
7 | Harlan Coben | Steven Doe| NULL
8 | Paula Hawkins | Harry Doe | NULL
9 | James Patterson| Harry Doe | NULL
其可能的客户可能有一个或一个以上的作者签出这样我想要做的就是根据总检出量(不管客户名称)将它们分组为唯一的ID:
ID | Author | Customer | Group
--------------------------------------------
1 | Paula Hawkins | John Doe | 1
2 | Harlan Coben | John Doe | 1
3 | James Patterson| John Doe | 1
4 | Paula Hawkins | Jane Doe | 2
5 | James Patterson| Jane Doe | 2
6 | James Patterson| Steven Doe | 3
7 | Harlan Coben | Steven Doe | 3
8 | Paula Hawkins | Harry Doe | 2
9 | James Patterson| Harry Doe | 2
它很有可能同一个客户可能被发现数百次用于多本书,所以最终的组别类别将代表该客户的独特价值(其他客户只有在他们签出的所有内容也匹配其他所有内容时才具有相同的价值客户已经签出)。
使用上述数据,哈利和珍拥有完全相同的作者签出,因此他们在同一组中,但约翰和史蒂文有不同的组合,因此他们有自己的独特组。
希望这是有道理的。这就是所谓的递归?如果是这样,那么我会看看一个cte解决方案,它使用某种排名的唯一id值。感谢您给予的任何帮助。
根据您的样本数据,您可以根据数据添加您想要查看的结果吗?至少对我而言,你实际上想看到的东西还是有点不清楚。 (请原谅我的无能) – Jens
带有NULL的顶部组是前面和底部组的值是后面的。基本上会设置一个值来识别每个独特的组。 – TStewartFan