19

UPDATEAccess でさまざまなWHERE条件でクエリを実行しようとしています。

UPDATE Table1
SET [Ticker] = "TXSFI" WHERE [Acct Numb] like "*03",
SET [Ticker] = "TESEI" WHERE [Acct Numb] like "*04";

エラーが発生するのはなぜですか?

4

2 に答える 2

5

さまざまな句がいくつあっても、 1 つのクエリで( s をネストせずに)これを行うことができます。IIFWHERE

これは、こちらの回答で説明したものと似ています (2 番目の部分) :

  1. 次のような一時テーブルを作成します。

    Acct Numb      NewTicker
    -------------------------
    *03            TXSFI
    *04            TESEI
    

    必要な数の新しい行を入力できます。各行には、口座番号の「フィルター値」と新しいTicker値が含まれます。

  2. Table1次の 1 つのクエリですべての値を更新します。

    UPDATE Table1
    INNER JOIN tmp ON Table1.[Acct Numb] LIKE tmp.[Acct Numb]
    SET Table1.Ticker = tmp.NewTicker;
    

    はい、JOIN一見変な部分に見えますが、実は結合可能LIKEです。

  3. 終了したら、一時テーブルを再度削除できます。

于 2013-07-01T21:47:59.580 に答える