【发布时间】:2015-09-18 04:13:34
【问题描述】:
我有一个复杂的请求。我必须用 PHP 做一个报告,如下图所示。
Part summarized yield 必须在计算中填写。
就像我在公式列中解释的那样,part summarized yield 中的值来自location yield 和part summarized yield 之间的计算。
(见这个公式)
如何在 PHP 报告中进行计算? 我已经尝试过使用游标,但它仍然不起作用。
这是我的光标计算:
--In PHP file, i make query to insert data first to table tyield_summary
--Cursor to input yield_summary
Declare @nourut varchar(2), @maxnourut varchar(2), @bpnum varchar(20), @pnum varchar(20), @curnourut varchar(2), @psum decimal(18,2), @ysum decimal(18,2)
DECLARE StockCursor CURSOR
FOR
select no_urut, part_number, Part_Summary
from tyield_summary
where no_urut<>'99'
order by part_number desc, no_urut asc
set @bpnum=''
OPEN StockCursor
FETCH NEXT FROM StockCursor INTO @nourut, @pnum, @psum
WHILE @@FETCH_STATUS=0
BEGIN
if @bpnum=@pnum
begin
select top 1 @curnourut=no_urut
from tyield_summary
where part_number=@pnum
and no_urut<@nourut
order by no_urut desc
set @bpnum=@pnum
select @maxnourut = max(no_urut) from tyield_summary
where part_number=@pnum
update tyield_summary
set yield_summary = case when Part_Summary=0 then @psum else (Part_Summary*@psum)/100 end
where part_number=@pnum
and no_urut=@curnourut
end
else
begin
set @bpnum=@pnum
end
FETCH NEXT FROM StockCursor INTO @nourut, @pnum, @psum
END
CLOSE StockCursor
DEALLOCATE StockCursor
我需要使用我在 Excel 中显示的公式填写 part_summary 字段。
在公式显示中,使用交叉字段计算。
【问题讨论】:
-
你被困在哪里了?请同时提供表结构。
-
我已经更新了我的帖子并提供了表格结构。请帮忙
-
将图像发布为“表格结构”是懒惰的人。无论如何,只需使用您的排序/聚合标准创建一个行号列并计算每行 * 行 +1,或者如果聚合中的实际行没有下一个值,则只获取行值。还要避免光标
标签: php sql sql-server tsql