1

table1colsv1v2table2colsと の2 つのテーブルがv3ありv4ます。

に一致する値があるtable2.v2場合は更新したい。table1.v1table2.v3

動作するように見える次のコードがあります

UPDATE table1
SET v2 = 99
WHERE exists(select v3 from table2
where table2.v3=table1.v1);

失敗した交差バージョンも試しました(v2の両方の行を更新します)

UPDATE table1
SET v2 = 99
WHERE exists(select v1 from table1
intersect select v3 from table2);
4

5 に答える 5

2

私の見解では、最初に以下のように「存在する場合」でテーブルの値を確認し、更新に適用します。

IF EXISTS
(
 select V1 from T2
 where v1 in (select v1 from t2)
)

BEGIN
UPDATE T1
SET v2 = 99
end

乾杯.....

于 2013-04-03T05:05:05.463 に答える
1

次の要件に該当するかどうかを確認してください。

UPDATE table1
SET v2 = 99
WHERE v1 IN (select v3 from table2)
于 2013-04-03T04:22:12.353 に答える
0

join を使用してテーブルを更新します。

UPDATE table2
SET v2 = 99
From table2 Inner Join table1 on  table1.v1=table2.v3
于 2013-04-03T04:23:29.353 に答える