inner join 问题

ynhgk1 2006-10-22 11:41:23
select * from 销售表 inner join 产品名称 on 销售表.产品类型=产品名称.产品类型
怎么查询出来的数据会有重复项(有两个相同的数据)。
...全文
275 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
marco08 2006-10-23
  • 打赏
  • 举报
回复
销售表中同一个产品有多条记录
Well 2006-10-23
  • 打赏
  • 举报
回复
在数据表里本来就有一对多的关系,
冷箫轻笛 2006-10-23
  • 打赏
  • 举报
回复
两种可能
1.销售表表或者产品名称表有重复记录
2.你的连接条件不够
zheninchangjiang 2006-10-23
  • 打赏
  • 举报
回复
inner join 并非是只选一个,只要连接关系存在,就会先,如果两个表中存在有一对多的关系,就会看到有部份重复
xiaoku 2006-10-23
  • 打赏
  • 举报
回复
两个可能:
1,销售表.产品类型有两个相等的
2,产品名称.产品类型有两个相等的
jetdw 2006-10-23
  • 打赏
  • 举报
回复
这种是出现了1:N的情况,而N中完全相同的两条记录
所以出现你这种情况
可以首先对N中的记录做DISTINCT,然后在进行JOIN
这样就可以排除
或者对N中的记录的每个字段用GROUP BY
效果也是一样的
dajianzi 2006-10-23
  • 打赏
  • 举报
回复
我觉得你还是单表select以下,看是否真是存在同样的纪录,如果没有也可能是你的数据库存在问题。
tippointGmail 2006-10-23
  • 打赏
  • 举报
回复
这是要看你的业务逻辑的设置了 不是inner出来的数据就必须是唯一的 在需要的时候可以通过group by来分组

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧