Sql 按时间间隔计算金额
我有来自Navision的以下代码Sql 按时间间隔计算金额,sql,navision,Sql,Navision,我有来自Navision的以下代码 PrintLine := FALSE; LineTotalVendAmountDue := 0; FOR i := 1 TO 5 DO BEGIN DtldVendLedgEntry.SETCURRENTKEY("Vendor No.","Initial Entry Due Date"); DtldVendLedgEntry.SETRANGE("Vendor No.","No."); DtldVendLedgEntry.SETRANGE("Init
PrintLine := FALSE;
LineTotalVendAmountDue := 0;
FOR i := 1 TO 5 DO BEGIN
DtldVendLedgEntry.SETCURRENTKEY("Vendor No.","Initial Entry Due Date");
DtldVendLedgEntry.SETRANGE("Vendor No.","No.");
DtldVendLedgEntry.SETRANGE("Initial Entry Due Date",PeriodStartDate[i],PeriodStartDate[i + 1] - 1);
DtldVendLedgEntry.CALCSUMS("Amount (LCY)");
VendBalanceDue[i] := DtldVendLedgEntry."Amount (LCY)";
VendBalanceDueLCY[i] := DtldVendLedgEntry."Amount (LCY)";
IF VendBalanceDue[i] <> 0 THEN
PrintLine := TRUE;
LineTotalVendAmountDue := LineTotalVendAmountDue + VendBalanceDueLCY[i];
TotalVendAmtDueLCY := TotalVendAmtDueLCY + VendBalanceDueLCY[i];
END;
我必须将上面的代码翻译成SQL server,但我不能理解它。我是Navision的新手 即使在没有上下文的情况下也很难转换为SQL,但本质上: 对于5个日期间隔,PeriodStartDate数组中指定的每个间隔的开始日期相加:
SELECT SUM([Amount (LCY)])
FROM [Company$Detailed Vendor Ledg. Entry]
WHERE [Vendor No.] = $1 -- particular Vendor No.
AND [Initial Entry Due Date] BETWEEN $2 and $3 -- period start/end, inclusive
LineTotalVendAmountDue设置为特定供应商的总共5个间隔
TotalVendAmtDueLCY设置为报告总计。首先在Navision文档中查找各个指令。你知道SETCURRENTKEY做什么吗?设定范围?您知道变量DtldVenLedgEntry与哪个表相关吗?我们在这里帮助您解决特定问题,而不是完成您的工作:上面描述的查询有一个错误的from表;详细的客户信息。莱德。条目不包含供应商编号。应使用:详细供应商Ledg。进入