求个sql语句
我现在有一个商品表M
有4种采购表 A B C D
分别对应4个采购明细表 A1 B1 C1 D1
明细中有采购商品 通过A1的m_id与M.ID 关联
我现在想找出采购的商品(不管哪种采购 只要采购了 就列出商品ID 去重复)
我现在的语句
select distinct M.id from m
where m.id in(select A1.m_id from A,A1 where a.id=A1.a_id)
or m.id in (select B1.m_id from B,B1 where B.id=B1.b_id)
...
这样写 可以是可以 但是执行速度实在是太慢了
so 求简化的语句
------解决方案--------------------有,可以把一些经常查询的数据汇总到一个表,然后最终就2个表关联查询,不过....比较麻烦,union 的话改一下语句和索引可能有效