首页
学习
活动
专区
圈层
工具
发布

合并2行
EN

Stack Overflow用户
提问于 2013-09-12 15:49:48
回答 2查看 68关注 0票数 0

我有一个像这样的结果集。我想把支付的金额加起来,把数字电视拖车和FlatBED合并成1排。有什么办法我能做到吗?

代码语言:javascript
复制
CaseServiceID   PurchaseOrderID PaidAmount  DTV TOW FLATBED
227                 15000227    19.20           1   0
227                 15000227    45.00           0   1

注意:DTV TOWFLATBED列来自一个旋转表

编辑

枢轴看起来是这样的:

代码语言:javascript
复制
select
*
from
(
    select
    cla.CaseServiceID
    ,cla.ServiceTypeProgKey
    ,cla.ClaimAmount
    ,cla.PaidAmount
    ,cla.ClaimQuantity
    from
    Claim cla
) as srcServiceType
pivot
(
    max(ServiceTypeProgKey) for ServiceTypeProgKey in ([FLATBED],[DTV TOW]
) as pvtServiceType
EN

回答 2

Stack Overflow用户

发布于 2013-09-12 15:53:14

怎么样

代码语言:javascript
复制
SELECT CaseServiceID, 
       PurchaseOrderID, 
       SUM(PaidAmount) PaidAmount,
       SUM([DTV TOW]) [DTV TOW],
       SUM(FLATBED) FLATBED
FROM YourTable
GROUP BY CaseServiceID, PurchaseOrderID
票数 2
EN

Stack Overflow用户

发布于 2013-09-13 19:17:17

查询最终是什么样子的。我希望这能帮上忙。谢谢

代码语言:javascript
复制
select
,sum(isnull([FLATBED], 0)) AS [FLATBED]
,sum(isnull([DTV TOW], 0)) AS [DTV TOW]
from
(
    select
    cla.ServiceTypeProgKey,
    ,sum(cla.PaidAmount) as 'PaidAmount'
    ,sum(cla.ClaimQuantity) as 'ClaimQuantity'
    ,sum(cla.PaidQuantity) as 'PaidQuantity'
    from
    Claim cla
    inner join CaseService cse on cla.CaseServiceID = cse.CaseServiceID
    group by cse.PurchaseOrderID
) as srcServiceType
pivot
(
     count(ServiceTypeProgKey) FOR ServiceTypeProgKey IN ([FLATBED],[DTV TOW])
) as pvtServiceType

...and结果

代码语言:javascript
复制
CaseServiceID   PurchaseOrderID   PaidAmount  DTV   TOW FLATBED
227             15000227          64.20       1     1
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18768891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档