开启辅助访问
 找回密码
 立即注册

多表关联为什么会出现重复匹配?

时间:2020-07-30 阅读:8674 回复:1

81

主题

159

帖子

557

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
557
多表关联有3种方式:
  • Left join:左关联,表示以左表为主表进行关联操作。显示左表中的所有记录,不管是否与关联条件相匹配,而右表中的数据只显示与关联条件相匹配的记录
  • Inner join:等值关联,表示对两表取交集,只返回两个表中联结字段相等的行
  • Full join:全关联,表示对两表取并集。返回两表中所有数据,不管是否匹配


其中,选择left join时,有些用户会遇到数据重复匹配了的情况
这时,需要确定你选择的关联条件下,关联出来的是否是唯一的值

举个例子:现在你有2个表,其中共有的字段是序号和分类,你想把B表中的总计匹配到A表中
下载 (14).png
如果你使用「序号」作为关联字段,合表会出现以下情况:存在重复匹配,出现了4个值,这是由于你的关联条件对应的数值不止一个
下载 (15).png
所以,为了避免重复匹配的情况,你选择的关联条件对应的值要是唯一的,或者,你可以通过选择多个关联条件来实现
下载 (16).png
比如使用序号+分类,2个关联条件,这样匹配出来,就不会出现重复数据的情况了
1596105153980.jpg

回复
使用道具 举报

0

主题

4

帖子

6

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6
草莓酱| 2020-9-3 15:17:43 | 显示全部楼层
学习了
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

北京市海淀区学院路甲5号768创意产业园

400-063-9966

bdp@haizhi.com

微信公众号 官方微信
登录 发布 快速回复 返回顶部 返回列表