sql 数据优化 union 代替or

本文详细解析了一段复杂的SQL查询代码,该查询旨在统计药品供应商的数量,涉及多个表的联接、子查询以及数据聚合。通过对这段代码的解读,读者可以深入理解如何使用SQL进行高级数据操作。

select t.name,sum(t.SupplierCount) from (
select a.name,count(b.Supplier_Id) as SupplierCount
from yxs_administrators a,yxs_drugsbase_supplier b ,yxs_product c,yxs_supplies d,yxs_drugsbase e
where b.bstop=0  and a.adminid=b.editer and c.Supplier_Id=b.Supplier_Id and b.supplies_id=d.supplies_id and b.drugsbase_id=e.drugsbase_id
and b.agent_price=0
group by a.name
UNION all
select a.name,count(b.Supplier_Id) as SupplierCount
from yxs_administrators a,yxs_drugsbase_supplier b ,yxs_product c,yxs_supplies d,yxs_drugsbase e
where b.bstop=0  and a.adminid=b.editer and c.Supplier_Id=b.Supplier_Id and b.supplies_id=d.supplies_id and b.drugsbase_id=e.drugsbase_id
and suggested_price=0
group by a.name
) t
group by t.name

转载于:https://www.cnblogs.com/zhanghonjiang2011/archive/2011/12/22/2297924.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值