22,300
社区成员




SELECT a.*
,(SELECT SUM(finqty) FROM TabName WHERE fnumber=a.fnumber AND ISNULL(fdate,'1900-01-01')<ISNULL(a.fdate,'1900-01-01')) AS finqty
,(SELECT SUM(foutqty) FROM TabName WHERE fnumber=a.fnumber AND ISNULL(fdate,'1900-01-01')<ISNULL(a.fdate,'1900-01-01')) AS foutqty
FROM TabName AS a
结果
fdate finqty foutqty
NULL 0.00 0.00
2015-05-01 00:00:00.000 0.00 0.00
2015-05-04 00:00:00.000 0.00 42.00
2015-05-07 00:00:00.000 400.00 42.00
2015-05-11 00:00:00.000 400.00 63.00
2015-05-12 00:00:00.000 400.00 64.80
2015-05-13 00:00:00.000 400.00 65.70
2015-05-15 00:00:00.000 400.00 86.70
2015-05-20 00:00:00.000 400.00 107.70
2015-05-26 00:00:00.000 400.00 139.20
2015-05-28 00:00:00.000 400.00 162.00
2015-06-01 00:00:00.000 400.00 165.13
2015-06-02 00:00:00.000 400.00 186.13
2015-06-08 00:00:00.000 400.00 207.13
2015-06-12 00:00:00.000 400.00 228.13
2015-06-15 00:00:00.000 400.00 249.13
2015-06-18 00:00:00.000 400.00 270.13
2015-06-24 00:00:00.000 400.00 291.13
2015-06-26 00:00:00.000 400.00 315.13
2015-06-30 00:00:00.000 400.00 336.13
SELECT a.fnumber,a.fdate
,(SELECT SUM(finqty) FROM TabName WHERE fnumber=a.fnumber AND ISNULL(fdate,'1900-01-01')<=ISNULL(a.fdate,'1900-01-01')) AS finqty
,(SELECT SUM(foutqty) FROM TabName WHERE fnumber=a.fnumber AND ISNULL(fdate,'1900-01-01')<=ISNULL(a.fdate,'1900-01-01')) AS foutqty
FROM TabName AS a