首页 > 解决方案 > 如何添加引用 2 个唯一列和表中 1 个唯一列的主 ID(多个连接)

问题描述

Client First Name   Client Last Name    Patient Name
John    Wick    Raffie
John    Wick    Coco
Rick    Thomas  Sussie
Peter   Parker  Hershey
Peter   Parker  Malt
Rick    Thomas  Poky
Lucas   Desmond Timmy

结果应该是:

Client ID   Client First Name   Client Last Name    Patient Name    Patient ID
1   John    Wick    Raffie  1
1   John    Wick    Coco    2
2   Rick    Thomas  Sussie  3
3   Peter   Parker  Hershey 4
3   Peter   Parker  Malt    5
4   Rick    Thomas  Poky    6
5   Lucas   Desmond Timmy   7

生的

结果

我所做的是创建一个存储过程来选择客户端表的内容,row_number()然后将它与患者表连接起来row_number(),但我想知道我是否只能在一个 t-sql 脚本中完成它?

谢谢你。

标签: sqlsql-server

解决方案


我认为DENSE_RANK()函数可以帮助您解决问题

Select      DENSE_RANK() OVER( order by t.[Client First], t.[Client Last Name]) as [Client ID]
        ,   t.[Client First]
        ,   t.[Client Last Name]
        ,   t.[Patient Name]
        ,   DENSE_RANK() OVER( order by t.[Patient Name]) as [Patient ID]    
From [Table] t;

推荐阅读