这是我的示例查询问题
+-------+----+-----------+--------------+------+
| id | SN | principal | ac_principal | stat |
+-------+----+-----------+--------------+------+
| 1001 | 1 | 280 | 280 | paid |
| 10001 | 2 | 280 | 280 | paid |
| 10002 | 3 | 280 | -280 | NULL |
| 10003 | 4 | 280 | NULL | NULL |
| 10004 | 5 | 280 | NULL | NULL |
| 10005 | 6 | 280 | NULL | NULL |
| 10006 | 7 | 280 | NULL | NULL |
| 10007 | 8 | 280 | NULL | NULL |
| 10008 | 9 | 280 | NULL | NULL |
| 10009 | 10 | 280 | NULL | NULL |
| 10010 | 11 | 280 | NULL | NULL |
| 10011 | 12 | 280 | NULL | NULL |
| 10012 | 13 | 280 | NULL | NULL |
| 10013 | 14 | 280 | NULL | NULL |
| 10014 | 15 | 280 | NULL | NULL |
+-------+----+-----------+--------------+------+
这是我想要显示的输出
+-------+----+-----------+--------------+------+
| id | SN | principal | ac_principal | stat |
+-------+----+-----------+--------------+------+
| 1001 | 1 | 280 | 280 | paid |
| 10001 | 2 | 280 | 280 | paid |
| 10002 | 3 | 280 | -280 | NULL |
| 10003 | 4 | 560 | NULL | NULL |
| 10004 | 5 | 280 | NULL | NULL |
| 10005 | 6 | 280 | NULL | NULL |
| 10006 | 7 | 280 | NULL | NULL |
| 10007 | 8 | 280 | NULL | NULL |
| 10008 | 9 | 280 | NULL | NULL |
| 10009 | 10 | 280 | NULL | NULL |
| 10010 | 11 | 280 | NULL | NULL |
| 10011 | 12 | 280 | NULL | NULL |
| 10012 | 13 | 280 | NULL | NULL |
| 10013 | 14 | 280 | NULL | NULL |
| 10014 | 15 | 280 | NULL | NULL |
+-------+----+-----------+--------------+------+
*注意:ac_principal中的(-280)必须在SN = 4中添加到(280)的主体,因此新的主体应该是560。
这是另一个样本...
+-------+----+-----------+--------------+------+
| id | SN | principal | ac_principal | stat |
+-------+----+-----------+--------------+------+
| 1001 | 1 | 280 | 280 | paid |
| 10001 | 2 | 280 | 280 | paid |
| 10002 | 3 | 280 | -280 | NULL |
| 10003 | 4 | 560 | 560 | paid |
| 10004 | 5 | 280 | 280 | paid |
| 10005 | 6 | 280 | 280 | paid |
| 10006 | 7 | 280 | -280 | NULL |
| 10007 | 8 | 560 | -280 | NULL |
| 10008 | 9 | 840 | NULL | NULL |
| 10009 | 10 | 280 | NULL | NULL |
| 10010 | 11 | 280 | NULL | NULL |
| 10011 | 12 | 280 | NULL | NULL |
| 10012 | 13 | 280 | NULL | NULL |
| 10013 | 14 | 280 | NULL | NULL |
| 10014 | 15 | 280 | NULL | NULL |
+-------+----+-----------+--------------+------+
答案 0 :(得分:0)
也许是这样的?
CASE
WHEN (SELECT t.ac_principal FROM tbl1 t WHERE t.SN = SN-1) LIKE '-%') THEN principal - (SELECT t.ac_principal FROM tbl1 t WHERE t.SN = SN-1)
ELSE principal
END principal