一条语句能否实现如下查询,我在php里面来回查了几次才实现,觉得太麻烦了:表indent(订单表,订单号是唯一的):
indent_id -订单号
danwei -生产单位
clientName -客户名称
productName -产品名称
productQuantity -产品数量
price -单价表schedule(生产进度表,流水记录):
indent_id -订单号
danwei -生产单位
complete -完成数
sendOut -发货数
按照生产单位分组显示:
生产单位,订单个数,全部订单产品数量,全部订单完成数,全部订单完成数的金额,全部订单发货数的金额
indent_id -订单号
danwei -生产单位
clientName -客户名称
productName -产品名称
productQuantity -产品数量
price -单价表schedule(生产进度表,流水记录):
indent_id -订单号
danwei -生产单位
complete -完成数
sendOut -发货数
按照生产单位分组显示:
生产单位,订单个数,全部订单产品数量,全部订单完成数,全部订单完成数的金额,全部订单发货数的金额
sum(c.productQuantity) as 全部订单产品数量,
count(c.complete) as 全部订单完成数,
sum(c.pirce*c.complete) as 全部订单完成数的金额,
sum(c.price*c.sendOut) as 全部订单发货数的金额
form
(select a.*,b.complete,b.sentOut from indent a,schedule b
where a.danwei=b.danwei and a.ident_id=b.ident_id) c
group by c.danwei
sum(productQuantity) as 全部订单产品数量,
sum(complete) as 全部订单完成数,
sum(complete*price) as 全部订单完成数的金额,
sum(sendOut*price) as 全部订单发货数的金额
from indent o left join schedule s on o.indent_id=s.indent_id
group by danwei
表indent表schedule(生产进度表,流水记录):目标效果:
a.indent_id=b.indent_id) c group by c.danwei ;
select c.danwei as 生产单位,count(c.indent_id) as 订单个数,sum(c.productQuantity) as 全部订单产品数量,count(c.complete) as 全部订单完成数,sum(c.price*c.complete) as 全部订单完成数的金额,sum(c.price*c.sendOut) as 全部订单发货数的金额 from (select a.*,sum(b.complete) as complete,sum(b.sendOut) as sendOut from indent a,schedule b where a.danwei=b.danwei and a.indent_id=b.indent_id) c group by c.danwei ;