我试图运行下面的SQL语句(SQL Server),但得到错误
“UPDATE和DELETE语句中的FROM子句不能包含子查询源或连接。”
update fp
set fp.totalcapacity = hc.totalcapacity,
fp.sellablecapacity = hc.sellablecapacity
from [fact].[FinalPosition] fp
join fact.[HotelCapacity] hc
on fp.hotelkey = hc.hotelkey
and fp.staydate = hc.staydate
where fp.staydate = '2016-06-18'
我似乎无法理解为什么我会收到此错误。任何的想法?
我认为你想要的语法是:
update fp
set totalcapacity = hc.totalcapacity,
sellablecapacity = hc.sellablecapacity
from fp join
fact.[HotelCapacity] hc
on fp.hotelkey = hc.hotelkey and fp.staydate = hc.staydate
where fp.staydate = '2016-06-18';
如果你想让fp
引用一个实际的表,请在from
子句中包含它,并使fp
成为表的别名。