0

たとえば、次のような場合、テーブル内の他の2つの列(この場合はsemesterとstudent_name)の値に基づいて、アクセスクエリで2つの列(別々のテーブルから)を結合しようとしています。 ここに画像の説明を入力してください

ここに画像の説明を入力してください

次の最終結果を取得するためにクエリを作成するにはどうすればよいですか。

ここに画像の説明を入力してください

some_dataの3学期と4学期(3番目と4番目のみ)のセクションがstudent_nameに基づいて結合されている場合(これらの例には示されていませんが、あるテーブルにはあるが別のテーブルにはない名前がある場合があります) 。現時点では、アクセスクエリの経験があまりないため、これを実行するのに苦労しています。どんな助けでも大歓迎です、ありがとう!

4

2 に答える 2

1

何かのようなもの

select semester, student_name, max(some_data) from
(select semester, student_name, some_data from sheet1
union all
select semester, student_name, some_data from sheet2)
group by semester, student_name
于 2013-02-11T17:53:10.850 に答える
1
UPDATE Sheet1 INNER JOIN Sheet2 
ON Sheet1.semester = Sheet2.semester
And  Sheet1.Student_name = Sheet2.Student_name
SET Sheet2.Some_data = Sheet1.Some_Data
Where Sheet1.semester in (3,4)

適用する前に結果を確認したい場合は、Datasheet Viewボタンの代わりにボタンをクリックしてくださいRun

2つのテーブルをそのままにして、ビューだけを表示したい場合は、次のように実行できます。

Select Sheet2.semester
, Sheet2.student_name
, Nz(Sheet2.some_data,Sheet1.some_data)
From Sheet1 INNER JOIN Sheet2 
ON Sheet1.semester = Sheet2.semester
And  Sheet1.Student_name = Sheet2.Student_name

オプションのwhere句付き

Where Sheet1.semester in (3,4)

ここでのNz関数は、最初のパラメーターのデータを使用します。ただし、そのパラメーターがnullの場合は、2番目のパラメーターの値を使用します。

于 2013-02-11T18:14:48.833 に答える