2014-04-10 29 views
0

我(这里为了简单起见,映射表I显示只记录BNO = 14M301SQL内联接返回重复在访问表

BNO EID EDescription 

14M301 4010  W Harness 
14M301 5027 E Wiring part 

,我有另一个表(碱)含有对应于7点的记录BNO = 14M301

Prev  Base Sufv Sequence CPSD BNO  BNO-CPSC 
    3M5T 14M301  AAB  234 180101 14M301  14M301-180101 
    3M5T 14M301  ABB  234 180101 14M301  14M301-180101 
    3M5T 14M301  SB  234 180101 14M301  14M301-180101 
    AV6T 14M301  DB  234 180101 14M301  14M301-180101 
    AV6T 14M301  FB  234 180101 14M301  14M301-180101 
    F1F1 14M301  AB  294 030304 14M301  030304-180101 
    F1F1 14M301  BA  294 030304 14M301  030304-180101 

在这里,我将两个表与BNO我使用innerjoin,是retrives 14条记录,而不是即BNO-14M301 = 14次。但在基地表格只包含7.我的查询

SELECT Base.Prev, Base.Base, Base.Sufv,Base.Sequence, Base.CPSD, Base.BNO, Base.[BNO - CPSD], Mapping.EID AS [E ID], Mapping.[EDescription] AS [E Description] 
FROM Base INNER JOIN Mapping ON Base.BNO = Mapping.BNO WHERE (((Mapping.EID) Is Not Null)); 
+0

和那是什么输出?你真正想要的输出是什么? – pquest

+0

您的查询将来自映射表的两行中的每一行与Base表中的七行相结合,总共有14行,您要查找的结果是什么? – Goon10

+0

也许结果不是你想要的。 BNO 14M301有2条记录,每条记录返回7条记录。你想达到什么目的? – DidIReallyWriteThat

回答

0

的BNO 14M301出现在你的映射表的两倍。因此,当您连接到Base表时,您将获得全部7条记录两次(映射表中每个连接行一次)。