2015-11-21 30 views
1

我看了几篇文章,以避免重复。但这不是关于从输出中删除重复项。但保留一个表中的重复项,但避免重复加入表中的行。在Access的JOIN中为第二个重复行返回null

所以我有2个表格1和表格2。表1具有重复的ID列值。表2没有ID列的重复值。我希望加入这两个表格。在结果中,我希望Table1中的所有行包括重复项,但我不希望Table2为Table1中的每个重复行重复行。

Table1 
ID Column2 
1  A 
1  B 
2  C 
3  D 

Table2 
ID Column3 
1  X 
2  Y 

我的查询是

Select A.ID,A.Column2,B.ID,B.Column3 from Table1 A LEFT JOIN Table2 B on A.ID=B.ID 

结果我得到的是

ID Column2 ID Column3 
1 A  1 X 
1 B  1 X 
2 C  2 Y 
3 D  null null 

预期的结果是

ID Column2 ID Column3 
1 A  1 X 
1 B  null null 
2 C  2 Y 
3 D  null null 

我看不出在访问数据库中的任何可能性。

请让我知道是否有得到这个结果

回答

2

我现在不能检查的任何可能性,但你会得到的想法:

select t11.id, t11.col2, t2.id, t2.col3 
from (table1 t11 
left join (select id, min(col2) as col2 from table1 group by id) t12 
    on t11.id = t12.id and t11.col2 = t12.col2) 
left join table2 t2 on t12.id = t2.id 
相关问题