0

テーブルのフィールドに値がある場合、テーブルf1のフィールドに値を設定したい。fieldが tableとの間のキーであるとします。 SQL Developerでこれに対するクエリをどのように記述しますか?t1122f2t2134f34t1t2

4

3 に答える 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 に答える