Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 如何计算和YTD格式_Sql Server 2008 - Fatal编程技术网

Sql server 2008 如何计算和YTD格式

Sql server 2008 如何计算和YTD格式,sql-server-2008,Sql Server 2008,我有表格付款(实际有大约10万条记录、不同类别、客户等): 我想对每个客户的分类税进行累计累计。所以结果是这样的: Client Dt Amt Category 1 201312 10 Tax 1 201401 10 Tax 1 201405 20 Tax 1 201406 30 Tax 2

我有表格付款(实际有大约10万条记录、不同类别、客户等):

我想对每个客户的分类税进行累计累计。所以结果是这样的:

Client      Dt          Amt  Category
  1       201312        10       Tax
  1       201401        10       Tax
  1       201405        20       Tax
  1       201406        30       Tax
  2       201311        10       Tax
谢谢

试试这个:

SELECT a.Client, a.Dt, SUM(b.Amt) AS Amt, a.Category
FROM payments a
JOIN payments b ON b.Client = a.Client
 AND b.Category = a.Category
 AND b.Dt <= a.Dt
 AND YEAR(b.Dt) = YEAR(a.Dt)
WHERE a.Category = 'Tax'
GROUP BY a.Client, a.Dt, a.Category
选择a.客户、a.Dt、金额(b.金额)作为金额,a.类别
从a付款
在b.Client=a.Client上加入付款b
b类=a类
和b.Dt
SELECT a.Client, a.Dt, SUM(b.Amt) AS Amt, a.Category
FROM payments a
JOIN payments b ON b.Client = a.Client
 AND b.Category = a.Category
 AND b.Dt <= a.Dt
 AND YEAR(b.Dt) = YEAR(a.Dt)
WHERE a.Category = 'Tax'
GROUP BY a.Client, a.Dt, a.Category