1

これを達成するために他の投稿の例に従いましたが、次のエラーが発生します。

FROM句のオブジェクト「otherDB.dbo.someTable」と「someDB.dbo.someTable」の公開名は同じです。それらを区別するために相関名を使用します。

これがSQLステートメントです

UPDATE [someDB].[dbo].[someTable]
SET [someDB].[dbo].[someTable].[Name] = [otherDB].[dbo].[someTable].[Name]
FROM [someDB].[dbo].[someTable]
INNER JOIN [otherDB].[dbo].[someTable]
   ON [someDB].[dbo].[someTable].[ID] = [otherDB].[dbo].[someTable].[ID]

ご覧のとおり、私は単純にからを更新したいと[Name]思い[someBD].[someTable]ます[otherDB].[someTable]

他の同様のクエリで確認できることから、これは機能するはずですが、別のデータベースからのものであるため、別のことを行う必要があるのではないかと思います。

任意のポインタ/ヘルプは大歓迎です。

4

3 に答える 3

5

エイリアスを使用してみましたか?

UPDATE db1
SET db1.[Name] = db2.[Name]
FROM [someDB].[dbo].[someTable] db1
INNER JOIN [otherDB].[dbo].[someTable] db2
   ON db1.[ID] = db2.[ID]
于 2012-08-01T15:58:46.793 に答える
-1

エイリアスを使用してみてください:

UPDATE
[someDB].[dbo].[someTable]
SET
s.[someDB].[dbo].[someTable].[Name] = o.[otherDB].[dbo].[someTable].[Name]
FROM
[someDB].[dbo].[someTable] s
INNER JOIN
[otherDB].[dbo].[someTable] o
ON
s.[someDB].[dbo].[someTable].[ID] = o.[otherDB].[dbo].[someTable].[ID]
于 2012-08-01T15:56:54.810 に答える
-1

エラーメッセージは相関名を要求しています。これは、テーブル名の1つにエイリアスを付ける必要があることを意味すると思います。これを試して:

UPDATE [someDB].[dbo].[someTable]
SET [someDB].[dbo].[someTable].[Name] = T.[Name]
FROM [someDB].[dbo].[someTable]
INNER JOIN [otherDB].[dbo].[someTable] T
   ON [someDB].[dbo].[someTable].[ID] = T.[ID]
于 2012-08-01T16:00:50.937 に答える