次のクエリを使用して、テーブルの列を更新しようとしています。その場合、32000行が更新されます。
Update Table72D012 t2 set DEFINING_ARGUMENT_ID =
(
SELECT t3.ID
FROM Table70t3 t3,
Table70t1 t1,
Table70t0 t0,
Table4 t4
WHERE t2.Model_id = t4.ID
AND t3.ID = t1.PARAM_VALUE_BPVA_ID
AND t3.VALUE_BPAR_ID = t0.ID
AND t0.KEY='SPECIAL_KEY'
AND t1.LANGUAGE='en'
AND t4.Model = t1.name
);
結果を確認したかったので、次のクエリを使用して関連するIDの数を取得しました。結果26500を取得しました。結果(更新の数と選択した結果の数)が互いに異なるのはなぜですか?
UPDATEクエリを修正するにはどうすればよいですか?
選択のみ
SELECT t3.ID
FROM Table70t3 t3,
Table70t1 t1,
Table70t0 t0,
Table72D012 t2,
Table4 t4
WHERE t2.Model_id = t4.ID
AND t3.ID = t1.PARAM_VALUE_BPVA_ID
AND t3.VALUE_BPAR_ID = t0.ID
AND t0.KEY='SPECIAL_KEY'
AND t1.LANGUAGE='en'
AND t4.Model = t1.name