1
テーブル内のレコードを更新する更新クエリがあります。更新する条件を選択すると、条件に一致するレコードが715個ありますが、彼らの15人だけが更新されます。誰もがこれで私を助けることができます。私は、比較のためにExcelシートからのデータを一時テーブルにロードしました。更新クエリがすべてのレコードを更新していません
BEGIN TRAN
UPDATE table1
SET English = CASE
WHEN English <> t.name THEN t.name
else English
END
FROM #tempdata t
LEFT JOIN dbo.Main m
ON m.Code= t.[property]
LEFT JOIN table1 tbv
ON m.filterkey= tbv.filterkey
where t.name != tbv.English
ROLLBACK TRAN
あなたはどのように選択しますか?あなたの選択結果で 'filterkey'はユニークですか? 'table1'ではユニークですか? –
更新するテーブルになぜLEFT JOINをしますか? – DVT
あなたの 'CASE'は冗長です。 'English <> t.name'の' ELSE'は 'English = t.name'を意味するので、**すべての場合**' t.name'を返します。 (値が関係していれば 'NULL'があればこれは当てはまりませんが、論文は' WHERE'節で除外されます) –