sql语句。有点繁琐,高手请进。
现在要拿表jit-bzqty栏wp(工序)叫机台存量的qty(数量)去减同一个表里,wp(工序)为外观存量的qty(数量)。6050-3000=3050然后新的数量覆盖机...
现在要拿表jit-bzqty 栏wp(工序)叫机台存量的qty(数量)去减同一个表里,wp(工序)为外观存量的qty(数量)。 6050-3000=3050然后新的数量覆盖机台存量的qty栏上。 当第二次刷新数据时也是同理,变成3050-3000=50, 这时候这个50的工序就是尾数存量了。机台存量<=1000的时候就要变为尾数存量。请问高手 sql语句如何实现。有加分
展开
展开全部
update jit_bzqty set wp='尾数存量' where wp='机台存量' and qty<=1000;
update jit_bzqty set qty=(select a.qty-b.qty qty
from jit_bzqty a,jit_bzqty b
where a.wp='机台存量' and b.wp='外观存量')
where wp='机台存量';
update jit_bzqty set wp='尾数存量' where wp='机台存量' and qty<=1000;
update jit_bzqty set qty=(select a.qty-b.qty qty
from jit_bzqty a,jit_bzqty b
where a.wp='机台存量' and b.wp='外观存量')
where wp='机台存量';
update jit_bzqty set wp='尾数存量' where wp='机台存量' and qty<=1000;
更多追问追答
追问
第一句和最后一句一样?为啥写两次?
追答
如果不执行两次的话如果一开始远行程序时,数量值就小于1000,那么执行第二条语句时,数量就会是负数了
或都使用一个IF判断也是可以的
展开全部
if (qty>1000)
begin
update t1
set t1.qty=t1.qty-t2.qty
from jit-bzqty t1,jit-bzqty t2
where t1.wp='机台存量'
and t2.wp='外观存量'
end
begin
update t1
set t1.qty=t1.qty-t2.qty
from jit-bzqty t1,jit-bzqty t2
where t1.wp='机台存量'
and t2.wp='外观存量'
end
追问
qty>1000怎么回事? <=1000也没变为尾数存量啊。
追答
if (select * from jit-bzqty where qty>1000)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
刷新数据是什么意思,你要一次得到尾数存量,还是某个动作只是触发一次改动,直到存量<1000就不触发改动?另外尾数存量保存那里呢?是直接更新到机台存量的数量字段中?
追问
看不懂算了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题没描述清楚,数据库中的机台存量是否也要更新?
追问
当然要啊。sql语句啊
追答
update t1
set t1.qty=t1.qty-t2.qty
from jit-bzqty t1,jit-bzqty t2
where t1.wp='机台存量'
and t2.wp='外观存量'
and t1.qty > t2.qty
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表示题目完全看不懂....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询