我有一张用户表和一张他们的契约(Contract)表。我有两个选择。第一个,从用户表中选择所有用户,第二个,只为“今天”选择新用户(从另一个用户表)。我需要将这两个结果联系起来,但是有一个问题。
每个用户都有“rownumber”列,这取决于每个用户的契约(Contract)数量(每个用户可以有 1 个或多个契约(Contract))。我需要为新行获取新行号。看例子
第一个选择返回:
user_id | contract_id | rownumber
1 456 1
1 457 2
1 699 3
第二个选择为这些用户选择新行:
user_id | contract_id
1 1024
1 | 1079
我需要连接这些结果以获得最终结果:
user_id | contract_id | rownumber
1 456 1
1 457 2
1 699 3
1 1024 4
1 1079 5
我该怎么做?
最佳答案
;with cte
as
(
select
user_id,contractid from table1
union all
select
user_id,contractid from table2
)
select *,row_number() over (partition by user_id order by contractid ) from cte
关于SQL 服务器 : connect two results with specific row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38990767/