内连接返回重复记录访问sql

vuy*_*182 10 sql ms-access

我有下表.数据的唯一区别是suff,wt ; 其余的看起来都一样.

事情表

  Prefix  Baseletter  suff   CSCcode   Description  WT      BNO      BNO-CSCcode 

  EIGC    A5560        BGA    04020    blah1        0       5560      5560-04020
  EIGC    A5560        HEA    04020    blah2        17.9    5560      5560-04020
Run Code Online (Sandbox Code Playgroud)

Mapp表

  BNO      BNO-CSCcode    EID    Description   

  5560      5560-04020   4005    blah1
  5560      5560-04020   4011    blah2
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用BNO-CSCcode内部连接它们以获得相应BNO的 EID .但我的查询返回重复.我得到4条记录,即使第一张表只有两条记录.

我的SQL查询:

SELECT 
  Things.Prefix ,
  Things.Baseletter,
  Things.suff,
  Things.CSCcode,
  Things.WT,
  Mapping.BNO-CSCcode,
  Mapping.EID 
FROM 
  Things 
  INNER JOIN Mapping ON Things.BNO-CSCcode = Mapping.BNO-CSCcode 
Run Code Online (Sandbox Code Playgroud)

为什么我会得到这些副本,我该如何解决?

paq*_*mez 19

BNO-CSCcode包含重复项.您正在加入Things两个记录的第一个记录Mapp,然后是两个记录的Things连接记录Mapp.给你共4条记录.

如果要将这些连接在一起,则需要一些独特的方法来标识表之间的行.

A Distinct应该将其恢复为2条记录:

SELECT DISTINCT
  Things.Prefix,
  Things.Baseletter,
  Things.suff,
  Things.CSCcode,
  Things.WT,
  Mapping.BNO-CSCcode,
  Mapping.EID 
FROM 
  Things 
  INNER JOIN Mapping ON Things.BNO-CSCcode = Mapping.BNO-CSCcode 
Run Code Online (Sandbox Code Playgroud)