0

これは非常に単純なはずですが、ライブデータベース(バックアップされている)に変更を加えているので、これを正しくしたいと思います。

CSVファイルからデータベーステーブルにいくつかの列の値をインポートしました。

ここで、インポートされたソーステーブル(クエリのS)からターゲットテーブル(クエリのT)を更新したいと思います。

エラーが発生します: The multi-part identifier "T.account_manager_id" could not be bound.

update DADatabaseMarch2012.dbo.Campaign

set 
    T.[account_manager_id]=S.[account_manager_id]
   ,T.[campaign_status_id]=S.[campaign_status_id]
   ,T.[ad_manager_id]=S.[ad_manager_id]
   ,T.[advertiser_id]=S.[advertiser_id]
from 
    [zMarch12CampaignsRestore].[dbo].[March12Eom_Campaigns] S
    inner join DADatabaseMarch2012.dbo.Campaign T ON S.id = T.id
4

3 に答える 3

6

UPDATEのターゲットとしてエイリアス名を使用して、このように記述します。

update T

set 
    [account_manager_id]=S.[account_manager_id]
   ,[campaign_status_id]=S.[campaign_status_id]
   ,[ad_manager_id]=S.[ad_manager_id]
   ,[advertiser_id]=S.[advertiser_id]
from 
    [zMarch12CampaignsRestore].[dbo].[March12Eom_Campaigns] S
    inner join DADatabaseMarch2012.dbo.Campaign T ON S.id = T.id
于 2012-04-12T19:48:50.517 に答える
4

Tはターゲットテーブルであるため、割り当て(SET)の左側でエイリアスを作成する必要はありません。

于 2012-04-12T19:49:53.120 に答える
1

編集:更新では、from句と同じテーブルを参照する必要があります。「updateT」と書いてください。

于 2012-04-12T19:48:15.150 に答える