Foxtable(狐表)用户栏目专家坐堂 → sql inner join的疑问


  共有2442人关注过本帖平板打印复制链接

主题:sql inner join的疑问

帅哥哟,离线,有人找我吗?
HappyFt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1908 积分:16976 威望:0 精华:0 注册:2014/7/29 19:09:00
sql inner join的疑问  发帖心情 Post By:2014/12/10 21:49:00 [只看该作者]

生产单是主表,生产明细,物料明细都是生产单的子表,两者都是通过生产单号与生产单关联,

现在要加载生产单,但条件可能在三个表中或其中的一个表中,所以必须将三个表连接起来,如果用inner join的话:

select * from 生产单 where 生产单号 in (select distinct 生产单号 from (生产单 a inner joint 生产明细 b on a.生产单号 = b.生产单号) inner join 物料明细 c on a.生产单号 = c.生产单号)where (a.X = xx or b.xx = x等))

 

因为生产明细和物料明细中的生产单号都有重复的,这样联合后数据量是否很大,效率很低?有没有其他的连接方式,主要就是where 条件可能会从生产明细或物料明细中取值才需要联合的。

第二个问题,in后面如果生产单号很多,sql有没有限制不能大于多少之类的?

 

谢谢!

[此贴子已经被作者于2014-12-10 21:50:23编辑过]

 回到顶部