#Table 有歧义

SAS*_*SMC 5 temp-tables self-join sql-server-2008

我收到一个错误,指出 #Plans 不明确。当我通过自连接将一个表加入到自己的表中时会发生这种情况,但不知道为什么。这是导致错误的代码:

Alter Table #Plans
Add SecondPlanDate date

Update #Plans
Set 
    SecondPlanDate = Min (P2.PlanPurchaseDate) Over (Partition By P1.PatientID, P1.PlanPurchaseDate)
From
#Plans as P1
Inner Join
#Plans as P2
on
P1.PatientID = P2.PatientID
Where
P2.PlanPurchaseDate > P1.PlanPurchaseDate
;

Select
*
From
#Plans  
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激。

谢谢,

sge*_*des 5

我认为您需要使用表别名:

UPDATE P1
SET P1.SecondPlanDate ...
Run Code Online (Sandbox Code Playgroud)