2

以下のクエリを使用して一時テーブルを使用してテーブル内の複数のレコードを更新しようとしていますが、機能しません。複数のレコードを更新する適切な方法を教えてください。

UPDATE sarufoo 
SET sarufoo.mobile = (SELECT mobile_no FROM logan) 
WHERE sarufoo.homep IN (SELECT homep FROM logan);
4

2 に答える 2

3

これを実現するためのより適切な方法の 1 つは、2 つのテーブルを結合することです。

UPDATE sf
SET sf.mobile = l.mobile_no
From
    sarufoo sf
    JOIN logan l ON sf.homep = l.homep
于 2012-10-26T16:39:11.227 に答える
0

更新している行と選択している行を関連付ける必要があります。そうしないと、副選択 (SET のもの) がすべての行を返します。

UPDATE sarufoo 
SET sarufoo.mobile = (SELECT mobile_no FROM logan WHERE sarufoo.homep = logan.homep) 
WHERE sarufoo.homep IN (SELECT homep FROM logan);
于 2012-10-26T16:38:59.293 に答える