0

我正在尝试根据表中其他 2 列的值(在本例中为学期和学生名称)在访问查询中组合两列(来自单独的表),例如,如果我有以下内容: 在此处输入图像描述

在此处输入图像描述

我怎样才能进行查询以获得最终结果:

在此处输入图像描述

其中 some_data 的第三和第四学期(仅第三和第四)部分已根据 student_name 组合(可能有一些名称在一个表中,但不在另一个表中,等等,尽管这些示例中没有显示) . 目前我对访问查询不是很有经验,所以我很难做到这一点。非常感谢任何帮助,谢谢!

4

2 回答 2

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按钮。

如果你想保持你的两个表完好无损并且只有一个视图,你可以这样做:

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函数使用来自第一个参数的数据,除非该参数为空,在这种情况下,它使用来自第二个参数的值。

于 2013-02-11T18:14:48.833 回答
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 回答