Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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 几个产品类别的总和_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql 几个产品类别的总和

Sql 几个产品类别的总和,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正试图计算下表中给出的人寿保险费。我只想计算产品类别为“Life%”的行的总和,但将其应用于出现保单“Life”产品的所有行,以及其他每一个保单(即,没有“Life”产品的行应为0) 我尝试了(产品子类别)的总和(成本),但它给出了所有保单的价值,即使没有寿险产品的保单也是如此。遗憾的是,partition by子句不允许Where子句 有人能帮忙吗?你可以这样做: select t.*, sum(case when productsubcategory like 'Life%

我正试图计算下表中给出的人寿保险费。我只想计算产品类别为“Life%”的行的总和,但将其应用于出现保单“Life”产品的所有行,以及其他每一个保单(即,没有“Life”产品的行应为0)

我尝试了(产品子类别)的总和(成本),但它给出了所有保单的价值,即使没有寿险产品的保单也是如此。遗憾的是,partition by子句不允许Where子句

有人能帮忙吗?

你可以这样做:

select t.*,
       sum(case when productsubcategory like 'Life%' then cost else 0 end) over
           (partition by policy) as lifepremium
from t;

选中此项:-

Select a.*, case when a.policy=b.policy then Life_Premium else 0 end as Life_Premium   
from
table a
left join
(
select policy,sum(cost) as Life_Premium from TableA where product_sub_category  LIKE 'Life%'
group by policy
) b
on a.policy=b.policy;

如果您有任何问题,请告诉我,您应该以格式化文本而不是图像的形式添加表结构、样本数据和预期结果。哦,谢谢。我的第一篇文章,因此:)。我会记住的。太好了,当你解决问题后,请告诉我们。谢谢你的工作就像一个符咒,该死的,我知道这很容易!只是我的日子不好过。祝您有个美好的一天。