sql-server - 如何在 SQL 中获得明智的产品总和
问题描述
我有两张桌子product_master
和party_master
.
表party_master
有这些列:
Total life sum assured
Term Insurance
Mediclaim
Top Up
P.A Policy
Traditional Insurance
Vehical Insurance
Fixed Deposit
SIP
每列都有数值。我想编写一个查询来将所有列值与产品类别相加。我怎样才能用这个查询得到它?
select
pk_pid, name,
sum() as portfolio_am
from
dbo.product_master
order by
name
如何做到这一点?请帮我...
更新**
截屏
解决方案
您可以使用group by
andjoin
如下:
select product.pk_pid , product.name,
sum("Total life sum assured" + "Term Insurance Mediclaim"
+ ... + SIP) as portfolio_am
from dbo.product_master product
join dbo.party_master party on product.pkid = party.fk_column_name
group by product.pk_pid , product.name
order by product.name
- 更新
因此,您有一个product_master
包含所有产品的party_master
表格和一个包含每个产品一列的表格。
您可以按如下方式使用条件聚合:
select product.pk_pid , product.name,
sum(case when product.name = 'Total life sum assured' then "Total life sum assured"
when product.name = 'Term Insurance Mediclaim' then "Term Insurance Mediclaim"
.......
.......
when product.name = 'SIP' then SIP
end) as portfolio_am
from dbo.product_master product
join dbo.party_master party on product.pkid = party.fk_column_name
group by product.pk_pid , product.name
order by product.name
总保额 定期保险 Mediclaim 充值 PA 保单 传统保险 车辆保险 定期存款 SIP
推荐阅读
- reactjs - 如何为 axios 请求设置操作名称(在反应应用程序中)?
- flutter - Flutter如何制作像UI一样的表格
- reactjs - 用未确定的斜杠反应路由动态网址
- javascript - 制作电影票应用程序时将 Nodelist.length 设为零
- jquery - jQuery 适用于 Chrome,但不适用于 Safari
- php - PHP 面向对象编程 - 何时使用公共、私有或受保护
- vuejs2 - 如何正确更新 VueJs .env 文件
- c - 使用 strtok 进行 C 程序段错误
- python - 我可以在 selenium 中暂停滚动功能,抓取当前数据,然后稍后在脚本中继续滚动吗?
- python - 从列表中运行函数