日期:2014-05-18  浏览次数:20544 次

有点复杂的查询问题
制造表:sections(产品,零件图号,零件台耗) 销售表:sales(销售单号,产品,销售数) 采购表:purchases(订购单号,零件图号)
我想在purchases联表查询时返回'需购总数'as 零件台耗*销售数,但是在制造表里面因为不同的 产品 有共用的零件图号,但是每个零件图号却返回3个查询结果,因为起码有三个产品共用此零件
SQL code:'select purchases.订购单号,purchases.零件图号,sections.零件台耗*销售数 as 零件总耗 from sections,sales,purchases where (sales.产品=sections.产品)and(sections.零件图号=purchases.零件图号)'
比如这三个产品销售数分别是A(300)、B(400)、C(500),我想让这些共用零件在查询时显示一条总数,即300*A的台耗+400*B的台耗+500*C的台耗 as 需购总数

------解决方案--------------------
SQL code

--这样?
SELECT purchases.零件图号,SUM(零件总耗) AS 需购总数
FROM (
select purchases.订购单号,purchases.零件图号,sections.零件台耗*销售数 as 零件总耗 
from sections,sales,purchases 
where (sales.产品=sections.产品)and(sections.零件图号=purchases.零件图号)
)TB
GROUP BY purchases.零件图号