2016-06-18 17 views
1

私は以下のようなIDを持つテーブルを持っています: - ユニット|関数| OrgID 000 | 000 | 21MS AccessもSQLもVlookup関数を保持していません

私は別のテーブルを持っています: - ユニット|関数| Subfunction |レベル4 |レベル5 01 | 54 | 65 | 21 | 96

2番目のテーブルの値(ユニット、機能)で最初のテーブルを更新したいとします。しかし、OrgIDは、unit、function、subfunction、level 4、level 5内の任意のフィールドに入れることができます。したがって、特定の列に対して結合を行い、更新を使用することはできず、常に同じ列になるとは限りません。

いずれかの提案がありますか?

おかげで、

ヴィン

+0

:-)アイデアを得た願っています....ので、

に T0.OrgID = T2.Function ON T2 AS表CどちらもありませんMS AccessもSQLもVlookup機能を維持しており、間違いなくExcelから借用されています。それでもExcelの機能はデータを更新しません。 – Parfait

+0

最後のコメントを誤解していると思います。 VLookup()のような存在しないメソッドへの参照がなくても、あなたの必要性を反映するように変更するつもりはありません。 * MS Access *のテーブル間の* SQLの更新やテーブル間の多対多の値の更新*のようなもの。 – Parfait

答えて

0

Basicalyあなたは(エクセル)VLOOKUPを使用しても、主キーと外部キーが必要

表A ユニット 機能 ORGID

表B ユニット ファンクション サブファンクション レベル4表A AS T0 左から5

UPDATE表A集合単位= COALESCE(T1.Unit、T2、単位...)レベルJOIN T0.OrgID = T1.Unit 左側に表B AS T1をJOIN構文はもう少し調整が必要になる場合がありますが、私はあなたのようにタイトルを編集してください

+0

そして、1つの発言 - パフォーマンスpovからかなり遅いですが、更新コマンドを正しく実行する方法があります:) –

+1

2013年までにアクセスに 'COALESCE'がありません(https://msdn.microsoft.com/en-us/library)。 /office/jj249645.aspx)、 'NZ'が役に立ちます。 –

+0

あなたはNzの機能を持っています - それと一緒に働くことができます、私はいくつかのIIFまたはケースがあることです –

関連する問題