SQL算法(50分)

  • 主题发起人 主题发起人 jiping
  • 开始时间 开始时间
J

jiping

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一个表,里面有下列字段
转出 转入 币种 金额
---------------------------------------------------------------------
龙卡 金穗卡 人民币 400。00
牡丹卡 龙卡 人民币 600。00
金穗卡 牡丹卡 美圆 300。00
一卡通 牡丹卡 欧元 500。00

如何写SQL语句能得到以下结果
信用卡 转出金额 转入金额 币种 余额
----------------------------------------------------------------------
龙卡 400。00 600。00 人民币 200。00
牡丹卡 600。00 0。00 人民币 -600。00
牡丹卡 0。00 300。00 美圆 300。00
牡丹卡 0。00 500。00 欧元 500。00
一卡通 500。00 0。00 欧元 -500。00
金穗卡 0。00 400。00 人民币 400。00
金穗卡 300。00 0。00 美圆 -300。00
 
好象不能实现,建临时表吧。
 
能把问题说地再清楚一点吗?
 
select 信用卡,sum(转出金额) as 转出金额,sum(转入金额) as 转入金额,币种,sum(转入金额)-sum(转出金额) as 余额 from
(select 转出 as 信用卡,金额 as 转出金额,0 as 转入金额,币种 from YourTable
union all
select 转入 as 信用卡,0 as 转出金额,金额 as 转入金额,币种 from YourTable ) as Tmp
group by 信用卡,币种;
 
To westboy2000
谢谢你,问题解决。
 
多人接受答案了。
 
后退
顶部