SQL写视图的时候 遇到一个棘手的表关联问题,求指教

手术记录表a和手术讨论表b两个表之间只有病人ID可以关联,但是有些病人ID下会有多个手术记录和多个手术讨论(手术记录和手术讨论的数量一致),该如何关联才能让手术记录和手术讨论一一对应?手术记录a和手术讨论b的创建时间不同,但是创建时间顺序相同,朋友说或许可以按顺序一一对应起来,可是我没学过这种方法,哪位大神能指导指导啊,谢谢

select userid, row_number() over(partition by userid order by discuss_time) rowid

from table

用开窗函数 row_number 就能加时间了,然后两个表的 rowid 关联。

CREATE TABLE #T_A
(P_ID int,
 RECORD varchar(50),
 CREATETIME date)
  
INSERT INTO #T_A
SELECT 1,'病人1记录1','2021-01-01' UNION ALL
SELECT 2,'病人2记录1','2021-01-02' UNION ALL
SELECT 1,'病人1记录2','2021-01-03'
 
CREATE TABLE #T_B
(P_ID int,
 DISCUSS VARCHAR(50),
 CREATETIME date)
  
INSERT INTO #T_B
SELECT 1,'病人1讨论1','2021-01-02' UNION ALL
SELECT 1,'病人1讨论2','2021-01-03' UNION ALL
SELECT 2,'病人2讨论1','2021-01-04' 

SELECT A.P_ID,A.RECORD,B.DISCUSS FROM

(SELECT P_ID,ROW_NUMBER() OVER(PARTITION BY P_ID ORDER BY CREATETIME) as RowNo,RECORD from #T_A ) A inner join
(SELECT P_ID,ROW_NUMBER() OVER(PARTITION BY P_ID ORDER BY CREATETIME) as RowNo,DISCUSS from #T_B) B on A.P_ID=B.P_ID and A.RowNo=B.RowNo