使用SQL计算表中先前行的值

时间:2016-12-15 09:16:27

标签: php mysql sql

我正在学习基本的PHP和SQL(使用PHPmy管理员),我无法理解如何处理前一行的值来计算表格中新行的数据。

如何根据先前输入的行计算一行中的值?例如,我想要每行:
1。自动创建行,直到Col A ID = 20
2。 Col B - 自动添加1个月到上一个行日期
3。 Col D - 上一行值减去付款(Col C)

我使用PHP还是SQL?我该如何设置它?请保持温和,我仍然很新。

Table example

1 个答案:

答案 0 :(得分:0)

CREATE TABLE #Details(ID INT IDENTITY(1,1),_Date DATE ,Payment      INT,
 LoanAmount INT)

 DECLARE @Date DATE,@Payment INT,@LoanAmount INT,@PreLoanAmount INT

 IF NOT EXISTS(SELECT 1 FROM #Details)
 BEGIN
    INSERT INTO #Details(_Date ,Payment ,LoanAmount )
    SELECT @Date,@Payment,@LoanAmount
 END
ELSE
BEGIN
     SELECT TOP 1 @PreLoanAmount = LoanAmount FROM #Details ORDER BY ID DESC

    INSERT INTO #Details(_Date ,Payment ,LoanAmount )
    SELECT DATEADD(MONTH,1,@Date),@Payment,@PreLoanAmount - @Payment

END