【发布时间】:2017-03-11 08:03:54
【问题描述】:
这是Rudresh BR,试图通过求和将相同行的数据获取到多列中。但是遇到了一个问题,请找到下面提到的有关该问题的详细信息,
预期数据:
但是获得了数据:
数据存在于表中
- 列表项
使用的查询:
select
a.BM_BANK_NAME,
SUM(PCBunit.BID_CURRENCY_VALUE) as PCBUnitSum,
SUM(PTBunit.BID_CURRENCY_VALUE) as PTBUnitSum
from
dbo.BG_Mtr_Bank_Master a
inner join dbo.BG_Tra_Issuance_Details PCBunit on a.BM_ID=PCBunit.BID_BANK_NAME and PCBunit.BID_UNIT_DIVISION='PCB'
inner join dbo.BG_Tra_Issuance_Details PTBunit on a.BM_ID=PTBunit.BID_BANK_NAME and PTBunit.BID_UNIT_DIVISION='PTB'
group by
a.BM_BANK_NAME,
PCBunit.BID_UNIT_DIVISION,
PTBunit.BID_UNIT_DIVISION
PCBUnitSum 和 PTBUnitSum 分别是 PCB 和 PTB 的 BID_Currency_Value 行的总和。
我观察到的是,一旦总和完成,即 3000(我期望作为输出),它会根据 PCB 和 PTB 分别存在的行数重做总和,因此有 3 行 PCB,3000+ 3000+3000=9000 以 O/P 形式给出。
我要求每个人, 请帮我找出问题所在?
【问题讨论】:
-
您使用的是 SQL Server 还是 MySQL?这些是不同的产品,通常需要不同的解决方案。请不要重复标记。
标签: mysql sql sql-server sql-server-2008