我希望有人可以在这里帮助我的语法。我有两个桌子ansicache..encounters,ansicache..x_refclaim_Table
ansicache..encounters
ansicache..x_refclaim_Table
该encounters表具有encounter与中的patacctnumber列匹配的列x_refclaim_table。
encounters
encounter
patacctnumber
x_refclaim_table
但是,有时patacctnumber可以在x_refclaim_table不同的服务日期(第列iar_servicedate)中显示两次。
iar_servicedate
我正在尝试将encounters表中的admitted列更新为iar_servicedate其中encounterin encounterstable = patacctnumberin x_refclaimtable中的最大值
admitted
x_refclaim
update ansicache..ENCOUNTERS set ADMITTED=max(IAR_ServiceDate) from ( ansicache..ENCOUNTERS e (nolock) join ansicache..x_refClaim_table x (nolock) on e.ENCOUNTER=x.PatAcctNumber )
它仍然失败:
消息157,级别15,状态1,行1聚合可能不会出现在UPDATE语句的设置列表中。
我尝试做其他一些事情,例如声明ID,但无法正常工作。
使用相关子查询
UPDATE e SET ADMITTED = (SELECT max(IAR_ServiceDate) FROM ansicache..x_refClaim_table x WHERE e.ENCOUNTER = x.PatAcctNumber) FROM ansicache..ENCOUNTERS e