{MS Access]如何合并两个没有重复数据的表?

问题描述

我在下面有两个表:

original tables

我想创建一个查询来组合它们,如下所示:

desired result

但是我却得到了这样的东西:

unsuccessful one

“ value1”的某些数据重复 我该如何解决? 是否有任何函数的第一个“ no”可以具有“ value1”。只要? 谢谢。

解决方法

您可以使用子查询来准备数据。

似乎您只希望加入Sub no最低的行,因此我们首先选择:

SELECT [No],Value2
FROM Table2 m
WHERE 
    EXISTS(
        SELECT 1 
        FROM Table2 s 
        WHERE s.[No] = m.[No]
        HAVING MIN(s.sub_no) = m.sub_no
    )

然后,将其集成到您的主查询中:

SELECT *
FROM Table1
INNER JOIN (
    SELECT [No],Value2
    FROM Table2 m
    WHERE 
        EXISTS(
            SELECT 1 
            FROM Table2 s 
            WHERE s.[No] = m.[No]
            HAVING MIN(s.sub_no) = m.sub_no
        )
) AS T2 ON T1.[No] = T2.[No]