- 締切済み
一発でUPDATE可能でしょうか。
一発でUPDATEできるでしょうか? A_TABLEとB_TABLEの2テーブルがあります。 上記2テーブルの結合条件は以下のとおりです。 A_TABLE.BOE = B_TABLE.BOE A_TABLEの列KEを更新したいです。 更新の条件はB_TABLE.HANA <= 100のものです。 次のsqlはだめでした。 UPDATE A_TABLE SET KE = 1 WHERE B_TABLE.HANA <= 100 AND A_TABLE.BOE = B_TABLE.BOE
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mitoneko
- ベストアンサー率58% (469/798)
回答No.1
update a_table a set ke=1 where exists(select * from b_table b where a.boe=b.boe and b.hana<100); こんな感じで、いかがでしょうか? テーブルの結合を、サブクエリーに逃がしています。
お礼
自己解決しました!下記SQLでできました。 update a_table a set a.ke=1 where a.boe = (select b.boe from b_table b,a_table c where a.boe=c.boe and b.hana<100);
補足
回答ありがとうございます。 試して見ましたが、列名エラーとなってしまいます。 また、このSQLはexistsでtrueとなったらa_tableのkeを全て1にしてしまわないでしょうか?