0

キーワードが別の参照テーブルに表示される場合、1 つのテーブルの値を比較して更新する必要がある 2 つのテーブルがあります。

Aは、個人のリストを含むデータ テーブルで、姓と名のフィールドが別々になっています。

Bは、姓と名を持つ個人の定義済みリストを含む別の参照テーブルです。

Access で更新クエリを作成して、テーブル A の個人がテーブル B にリストされているかどうかを確認し、A のフィールドを更新してテーブル B にリストされているかどうかを示します。姓と名が両方のテーブルで同じであれば、十分に一致します。問題は、名前フィールドのテーブル A に、姓名のみがリストされている参照テーブル B にはない追加情報 (役職や資格情報など) が含まれている可能性があることです。テーブル A のデータを制御することはできませんが、同様の基準に基づいて、可能な限り結合を行う必要があります。

以下をSQLで表現する方法がわかりません。次の疑似コードが、私が達成しようとしていることを説明していることを願っています:

UPDATE A
    SET A.[isinB]=true
WHERE

A.[lastname] contains B.[lastname]
and
A.[firstname] contains B.[firstname]

例:

A.[lastname] = SMITH MD PHD
A.[firstname] = JOHN M

B.[lastname] = SMITH
B.[firstname] = JOHN

この例では、これを一致と見なし、A.[isinB] を true に設定します。

4

1 に答える 1

0

Access では、ワイルドカード比較を実行できます。

UPDATE A SET A.[isinB]=true
WHERE
B.[Firstname] Like "*" & A.[Firstname] & "*" AND B.[Lastname] Like "*" & B.[Lastname]

ブックエンド " " のワイルドカードは、"Like" が参照するフィールド内の任意の場所の文字列を検索するよう Access に指示します。"JOHN" is within "JOHN M" は true を返します。データによっては、最初の " " だけを指定することを検討することもできます。

于 2012-04-28T02:02:02.920 に答える