查询内容:
采购单表A(a_id,a_no,a_date,a_p_code,a_p_name,a_p_qty,a_u_code)
入库单B(b_id,b_a_id,b_qty,b_u_code)
出库单C(c_id,c_a_id,c_qty,c_u_code)<考虑多次出入库情况>
要做采购跟催表:要求能按a_no(采购单号,入库单号,出库单号等查询)
我用了以下方法
select a_no,a_date,a_p_code,a_p_name,a_p_qty,a_u_code 
from a
left join
(
   select b_a_id,b_qty=sum(b_qty),b_u_code from b group by b_a_id,b_u_code
)p_in on b_a_id = a_id
left join
(
select c_a_id,c_qty=sum(c_qty),c_u_code from c group by c_a_id,c_u_code
)p_out on c_a_id = a_id
但是效率很低,因为每次执行语句时都会把所有出入库情况都汇总一次再来做连接动作。
请求提出效率更高些的方法为谢。