SQL的JOIN问题

tang688 2015-07-09 06:34:39
我有二个表,一个是进货申请,一个是进货采购
二个表的只有“编号”字段是相互关系的。
但一个编号会有多条记录
我现在需要实现二表的连查
我使用
select 进货申请.*,进货采购.* from 进货采购 left join 进货申请 on 进货采购.编号=进货申请.编号 where ......
我使用这样的语句是可以查询得到。
但是查旬到的结果会增加N倍,正好是单个编号内的记录条数的倍数。
如果我不用join方式查询,结果会超级慢。
如:select *, (select 字段1 from 进货申请 where 编号=t.编号) from 进货采购 where
请问大家有好的方法可以不新增倍数又可以快速地查询?
...全文
72 2 点赞 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
走你_ 2015-07-09
你的关联字段如果是1:1 那么连出来绝对是不会翻倍, 如果是1:n 比如 表1是1,2,3 表2是1,2,2,3,3,3 那么连出来会是6条 因为表1和表2确实有6条符合条件, 如果表2数据不是很重要 ,你可以把表2聚合一下 得到一个临时表 在连
  • 打赏
  • 举报
回复
shoppo0505 2015-07-09
对于两个表都算下sum总合,然后再互相join
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2015-07-09 06:34
社区公告
暂无公告