テーブルのフィールドに値がある場合、テーブルf1
のフィールドに値を設定したい。fieldが tableとの間のキーであるとします。
SQL Developerでこれに対するクエリをどのように記述しますか?t1
122
f2
t2
134
f34
t1
t2
質問する
1351 次
3 に答える
3
これを試すことができます(Oracleの場合):
UPDATE ( SELECT t1.f1, t2.f2
FROM t1
JOIN t2
ON t1.f34 = t2.f34
WHERE t2.f2 = 134
)
SET f1 = 122;
このSQLFiddleを参照してください
他の RDBMS の場合は、join で更新してみてください
SQL サーバーの場合:
UPDATE t1
SET f1 = 122
FROM t1
JOIN t2
ON t1.f34 = t2.f34
WHERE t2.f2 = 134
このSQLFiddleを参照してください
MySQL の場合
UPDATE t1 temp1
JOIN t2 temp2
ON temp1.f34 = temp2.f34
SET temp1.F1 = 122
WHERE temp2.f2 = 134;
このSQLFiddleを参照してください
于 2012-10-29T07:14:59.017 に答える
1
update t1
set f1 = 122
where exists (select 1 from t2 where f34 = t1.f34 and f2 = 134)
于 2012-10-29T07:16:35.473 に答える
0
update t1 a,t2 b set a.f1='122' where a.f34=b.f34 and b.f2=134;
于 2012-10-29T07:16:38.137 に答える