生产单是主表,生产明细,物料明细都是生产单的子表,两者都是通过生产单号与生产单关联,
现在要加载生产单,但条件可能在三个表中或其中的一个表中,所以必须将三个表连接起来,如果用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编辑过]