求条sql 语句,多记录合并(100)

  • 主题发起人 主题发起人 a_Fung
  • 开始时间 开始时间
A

a_Fung

Unregistered / Unconfirmed
GUEST, unregistred user!
A表消费单号 消费金额001 100B表消费单号 付款模式 消费金额001 现金 50001 IC卡 50目的 用sql语句 得到 这样的结果消费单号 消费总额 现金 IC卡001 100 50 50
 
1、把B表行列轉換之后 在連接 A表2、連接之后,再做行列轉換。行列轉換的例子,網上非常多,自己搜索。
 
你这个只需要B表就可以搞定,直接行列转换之后,新建“消费总额”这个列,这个列的值就=现金+IC卡
 
select a.消费单号 消费单号, a.消费金额 消费金额, sum(a.现金) 现金, sum(a.IC卡) IC卡 from (select 消费单号, 消费金额, case 付款模式 when '现金' then 消费金额 else 0 end '现金', case 付款模式 when 'IC卡' then 消费金额 else 0 end 'IC卡'from A表, B表where A表.消费单号=B表.消费单号) as agroup by a.消费单号 , a.消费金额
 
select 消费单号 , max(case 付款模式 when '现金' then 消费金额 else null end) 现金, max(case 付款模式 when 'IC卡' then 消费金额 else null end) IC卡from Bgroup by 消费单号
 
select 消费单号 , max(case 付款模式 when '现金' then 消费金额 else null end) 现金, max(case 付款模式 when 'IC卡' then 消费金额 else null end) IC卡, (max(case 付款模式 when '现金' then 消费金额 else 0 end) + max(case 付款模式 when 'IC卡' then 消费金额 else 0 end))from Bgroup by 消费单号
 
答案接受。。。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部