2016-12-13 15 views
0

Access SQLに関しては初心者です(マスタと抽出)2つのテーブルがあります。同じケースが存在するマスターテーブルを更新する必要があります(これは両方テーブル)が、ケーステキストが「NA」である場合に限ります。2つのテーブルを使用して更新クエリにアクセスする

UPDATE Master 
SET ('Master.Date Closed') 
    = (Date()) 
FROM Extract 
WHERE ('Master.Case' = 'Extract.Case' AND 'Extract.Clarification Case Text' = "NA"); 

私は等の構造がどのように見えるかを問い合わせ、にケースIDを取得する方法を確認していない

、ケースIDは、両方のテーブルに表示され、明確化ケーステキストは、「NA」である場合今日の日付をMaster.Date Closedに入れます。

ありがとうございます。

+0

ありがとう - それは動作しますが、クエリには数分かかるため、各テーブルに約90,000行あります。 – davidjwest

答えて

1

私はあなたがこのつもりだと思う:

UPDATE Master 
    SET [Date Closed] = Date() 
    WHERE EXISTS (SELECT 1 
        FROM Extract 
        WHERE Master.Case = Extract.Case AND 
         Extract.[Clarification Case Text] = "NA" 
       ); 

注:のみ、文字列、日付定数のために、単一引用符と二重引用符を使用します。フィールド名とカラム名のエスケープ文字は角カッコです。他の文字を使用することはできますが、人間やSQLパーサーに混乱する傾向があります。

+0

ありがとう!追加の質問として;-)抽出テーブルにCaseがない行を更新する場合は、「WHERE EXITS」の反対は何ですか? – davidjwest

+1

@davidjwest。 。 。 '存在しない場所 '。 –

関連する問題