2017-12-19 11 views
-1

私はしかし、エラーSQL UPDATEステートメント動作しない - SQL Serverの

を取得し、以下のSQLステートメント(SQL Serverの)を実行しようとしています「UPDATEに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' 

なぜこのエラーが発生しているのか分かりません。何か案が?

+1

'fp'は実際のテーブルかエイリアスですか? –

+0

申し訳ありませんが間違ったクエリをコピーしました。編集されました。 fpは実際のテーブルです。上記のクエリが機能していません – Sharingan

+0

set文で 'fp'エイリアスを参照しないでください。それはあなたの問題だ。以下のゴードンの答えを見てください。 –

答えて

3

私はあなたがしたい構文があると思う:あなたはfpは、実際のテーブルを参照したい場合は

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'; 

from句で、テーブルのためのfpエイリアスを作成することを含んでいます。

+0

誤って誤って間違ったクエリをコピーしました。私は今すぐ正しいクエリを調整しました。 – Sharingan

+0

作業しないと、[事実]からFP セットtotalcapacity = hc.totalcapacity、 sellablecapacity = hc.sellablecapacity を更新するために、それを変更しました。fp.hotelkey = HCに[FinalPosition] FP が実際に参加する。[HotelCapacity] HC .hotelkey とfp.staydate = hc.staydate ここで、fp.staydate = '2016-06-18' – Sharingan

+0

@Sharingan。 。 。どのバージョンのSQL Serverを使用していますか?更新の 'join'は長い間サポートされていますが、永遠にはサポートされていません。 –

関連する問題