【发布时间】:2018-08-22 15:44:36
【问题描述】:
我有一份与我的服务公司签订不同合同的客户列表。
- 有时我们可以根据合同拥有不同的客户。 示例: 凯伦和她的男朋友会有合同。
- 有时一组客户可能有不同的合同。 示例:Karen 和 Will 与我签订了多份合同。
这是表格:
idCustomer idContract NameCust
-----------------------------------------
1 A Karen
1 B Will
2 A Karen
2 B Will
3 C Steph
4 C Peter
但是因为 Karen 和 Will 可以有多个合同,所以我想要他们和其他客户群的唯一 ID。我要的结果表:
idCustomer idContract NameCust Customer_GroupID
-----------------------------------------------------
1 A Karen 1
1 B Will 1
2 A Karen 1
2 B Will 1
3 C Steph 2
4 C Peter 2
我被困住了,因为我尝试了不同的方法,但没有得到我需要的结果。我在论坛中找到了使用 Dense_Rank 函数的人,但结果如下:
SELECT
RANK() OVER (ORDER BY idCustomers) AS Customer_GroupID,
IdCustomers,
IdContract
FROM
Table
结果如下:
Cust_GroupID idCustomer idContract
--------------------------------------
1 1 A
2 1 B
1 2 A
2 2 B
3 3 C
3 4 C
我什至尝试使用多选,不存在但什么都没有。
【问题讨论】:
-
不清楚Karen 和Will 有什么不同
idCustomer(在你的第一张桌子上)?您为相同的客户分配不同的 ID?
标签: sql sql-server uniqueidentifier