- ベストアンサー
UPDATEとFROM とWHERE
MSアクセス SQLの基本がわからなくて テーブルBにあるデータが、テーブルAにもあるとき、テーブルBのflgをTrueにしたい。 テーブルA 1111 2222 3333 テーブルB 2222,false 4444,false DoCmd.RunSQL "UPDATE テーブルA SET flg = True FROM テーブルB WHERE テーブルA.データ = テーブルB.データ;" テーブルA 1111 2222 3333 テーブルB 2222,true 4444,false 上のSQLがとおりません。助けて下さい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> UPDATE テーブルA SET flg = True FROM テーブルB WHERE テーブルA.データ = テーブルB.データ のようにUPDATE文にFROMを使えるのはMS SQLServerです。 ACCESSなら UPDATE テーブルA INNER JOIN テーブルB ON テーブルA.データ = テーブルB.データ SET テーブルA.flg = True でいけるかもしれません。 より一般的には UPDATE テーブル SET テーブルA.flg = True WHERE EXISTS ( SELECT 1 FFROM テーブルB WHERE テーブルA.データ = テーブルB.データ ) で。
お礼
SELECT 1 FFROM 、Fがひとつ多かったですが、どちらもいけました。 早々に、ありがとうございます。