あるテーブルを別のテーブルに更新する必要があります。これは私たちのライブサーバーなので、申請する前にすべての拠点をカバーしていることを確認したいと思います. これは私が現在持っているものです:
UPDATE [LinkedServer].[DB1].[dbo].[TBL1]
SET t1.[COL1] = t1.[COL1] + (SELECT SUM(t2.[COL2] - t2.[COL1])
FROM [DB2].[dbo].[TBL2] t2
where [TBL2COL3]=203 and t1.[COL0]=t2.[COL0]))
FROM [LinkedServer].[DB1].[dbo].[TBL1] t1
WHERE t1.[COL0]=t2.[COL0]
基本的に、DB2 t1.[COL0] (一意の値) = t2.[COL0] (一意の値ではない) の 2 つの列の差を合計し、それらの値で TBL1 を更新しようとしています。
t1.[COL1] + (SELECT SUM(t2.[COL2] - t2.[COL1])
FROM [DB2].[dbo].[TBL2] t2
where [TBL2COL3]=203 and t1.[COL0]=t2.[COL0]))
上記のコードは、必要な正しいデータを提供します。これが他のテーブルを更新する正しい方法であるかどうかを知る必要があるだけです。t1.[COL0] と t2.[COL0] の両方が同じ場所だけを更新する必要があります。
前もって感謝します