• ベストアンサー

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がとおりません。助けて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.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.データ ) で。

situmonnsya
質問者

お礼

SELECT 1 FFROM 、Fがひとつ多かったですが、どちらもいけました。 早々に、ありがとうございます。

関連するQ&A