SQL 语句求助,请各位大神帮帮忙。

表1(预测计划的一个表)表2(实际开工单生产)预测编号1(每个月一次)读取表一的预测编号产品1500pcs产品1200PCS产品1150PCS产品2700pcs产品2没开... 表1 (预测计划的一个表) 表2 (实际开工单生产)
预测编号 1 (每个月一次) 读取表一的预测编号
产品 1 500 pcs 产品1 200 PCS
产品1 150 PCS
产品 2 700 pcs 产品2 没开单生产
产品 3 300 pcs 产品3 300PCS
产品 4 500 pcs 产品4 350 PCS
产品 5 900 pcs 产品5 没开单生产

表1 是一个预测信息表, 主要字段为 预测编号,产品编号,数量
表2是一个实际生产信息。 输入预测号可以读取 表1中的产品信息, 生产 一个产品可以分几次做完 也可以一次做完。
主要字段 预测编号,产品编号,数量,工单号。
我想查出来 表一中某一预测编号还有多少产品 在表2中没有生产完的。当然有些只是做了一部分,有些根本一PCS都没有做。
不知道我说得清楚不?
在线等待,。。。。 穷啊没分了
...............
展开
 我来答
wy_1900
2011-11-21 · TA获得超过4503个赞
知道大有可为答主
回答量:4260
采纳率:63%
帮助的人:3402万
展开全部
很简单,你按照下面结构写一下就行了,关键在union all的使用,这个对于计划、财务、库存都能使用,希望能帮到你。

select 产品,
sum(预测量) as 汇总预测量,
sum(开工量) as 汇总开工量,
sum(期末量) as 汇总期末量
from (
select 商品,数量 as 预测量,0 as 开工量,数量 as 期末量 from 预测表
union all
select 商品,0 as 预测量,数量 as 开工量,数量*-1 as 期末量 from 开工表
) as 汇总表
group by 产品
追问
数量*-1  是啥意思???啊
谢谢了
麻烦了
追答
首先你结果出来了吗?给你解决问题了吗?

因为最后要做合计,所以需要取反。举例
预测20,开工18,结果应该是2
如果不做任何处理,结果是20+18=38
所以要把18先取反,结果还是合计,就变成20+(-18)=2
明白了吗?
wizard_2001
2011-11-19 · TA获得超过678个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:127万
展开全部
说个容易理解的,据我的理解,表1表2的预测编号和产品编号应该是对应的。
select 表1.预测编号,表1.产品编号,表1.数量,表2.数量,表1.数量-表2.数量 未完成
from 表1,表2
where 表1.预测编号=表2.预测编号 and 表1.产品编号=表2.产品编号 and 表1.数量>表2.数量
;
这样就可以了,最后一列是未完成的数量.
追问
这样不行哦,有些产品是分几次做的。 比如产品A数量500  我第一次做200 ,第二次 做150
你这个语句些出来后 会得到2比数据 500-200 =300 第二比 500-150 =350 实际只有150没有做。 可以这样不? 未完成=表1.数量-COUNT(表2.数量) 但是后面 GROUP BY A.CODE 又不行 会报错误.还有个问题 产品2,产品5 都没有做。也就是说表2里面没有这2个产品的资料. 如果写表1.产品编号=表2.产品编号 这样就出问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式