Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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
如何对With语句进行SQL求和?_Sql_Sql Server - Fatal编程技术网

如何对With语句进行SQL求和?

如何对With语句进行SQL求和?,sql,sql-server,Sql,Sql Server,查询: 我的问题是,我还需要添加一列来计算权重之和 样本结果: PALLET TOTAL VOLUME (MM3) WEIGHT -------------------------------------- 2 1090x730x1230 1.957422 1 1090x730x1460 1.161722 您可以使用SUM。。。OVER() 由于重量的定义相当长,因此您的衍生表格可能会进入其他CTE 差不多 PALLET TOTAL VOL

查询:

我的问题是,我还需要添加一列来计算权重之和

样本结果:

PALLET  TOTAL VOLUME (MM3)  WEIGHT
--------------------------------------
2       1090x730x1230       1.957422
1       1090x730x1460       1.161722

您可以使用
SUM。。。OVER()

由于重量的定义相当长,因此您的衍生表格可能会进入其他CTE

差不多

PALLET  TOTAL VOLUME (MM3)  WEIGHT    TOTALWEIGHT
---------------------------------------------------
2       1090x730x1230       1.957422  3.119144
1       1090x730x1460       1.161722  3.119144

您需要去掉
案例中的
else
表达式,以确保权重为数字。

您可以使用
求和。。。OVER()

由于重量的定义相当长,因此您的衍生表格可能会进入其他CTE

差不多

PALLET  TOTAL VOLUME (MM3)  WEIGHT    TOTALWEIGHT
---------------------------------------------------
2       1090x730x1230       1.957422  3.119144
1       1090x730x1460       1.161722  3.119144
您需要去掉
案例中的
else
表达式,以确保权重为数字

;WITH 
SuperSelect AS (SELECT DISTINCT... '0003721008190AHWA01KG'),
CountPallet AS (SELECT... FROM SuperSelect ss),
NewCTE AS (SELECT COUNT(A) ... GROUP BY [TOTAL VOLUME (MM3)])

select PALLET, [TOTAL VOLUME (MM3)], isnull(WEIGHT,'Unknown') AS WEIGHT,
SUM(WEIGHT) OVER() AS TOTALWEIGHT
from NewCTE