为什么会这样???
感谢CSDN好友,tomysea,wxr0323,ssp2009的帮助:
with cte1 as
(
select BH as BH, min(sxh) as SXH,avg(PJF) as PJF
from KH_SubCompManager where nf='2011' group by BH
)
update KH_SubCompManager set DF=cte1.PJF
from KH_SubCompManager,cte1
where KH_SubCompManager.BH=cte1.BH and KH_SubCompManager.SXH=cte1.SXH
这是什么写法,update from 后面直接跟了“两张表”,用Where 限定了两表之间的关系。
问题一:这是什么用法??? 怎么感觉像“内连接”和“外连接”似地???
而下面使用了“内连接”时:
with cte1 as
(
select BH as 'BH', min(sxh) as 'SXH',avg(PJF) as 'PJF'
from KH_SubCompManager where nf='2011' group by BH
)
UPDATE KH_SubCompManager SET DF=cte1.PJF
FROM KH_SubCompManager s INNER JOIN cte1 c
ON s.BH=c.BH AND s.SXH=c.SXH
总是提示:
消息 4104,级别 16,状态 1,第 1 行
无法绑定由多个部分组成的标识符 "cte1.PJF"。
这是怎么回事,那位大侠可以解释下???