我有下表.数据的唯一区别是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)