表cust(客户表)
c_code c_name
1 张三公司
2 李四公司
3 王五公司
表stok(物品表)
s_code s_name s_kind
1 手机 D1
2 杯子 D2
3 面包 D3
表bill(销售表汇总)
b_code b_custname b_totaxamt b_date
1 张三公司 1000 070901
2 李四公司 200 070902
表billstok(销售表明细)
b_code b_stokname
1 手机
2 杯子
billkind(物品大类)
kind name
D1 数码
D2 日用
D3 食品
其中:bill.b_code=billstok.b_code
bill.b_custname=cust.c_name
billstok.b_stokname=stok.s_name
stok.s_kind=billkind.kind
现在想出一张报表按照时间段列出所有客户按照大类的金额统计实际效果:
客户名称 数码 日用 食品
张三公司 1000 0 0
李四公司 0 200 0
王五公司 0 0 0
c_code c_name
1 张三公司
2 李四公司
3 王五公司
表stok(物品表)
s_code s_name s_kind
1 手机 D1
2 杯子 D2
3 面包 D3
表bill(销售表汇总)
b_code b_custname b_totaxamt b_date
1 张三公司 1000 070901
2 李四公司 200 070902
表billstok(销售表明细)
b_code b_stokname
1 手机
2 杯子
billkind(物品大类)
kind name
D1 数码
D2 日用
D3 食品
其中:bill.b_code=billstok.b_code
bill.b_custname=cust.c_name
billstok.b_stokname=stok.s_name
stok.s_kind=billkind.kind
现在想出一张报表按照时间段列出所有客户按照大类的金额统计实际效果:
客户名称 数码 日用 食品
张三公司 1000 0 0
李四公司 0 200 0
王五公司 0 0 0
set @sql=''select @sql=@sql+',['+name+']=sum(case kind when '+kind+' then b_totaxamt else 0 end)' from billkindset @sql='select c_name'+@sql+' from cust ,stok,billstok,billkind where bill.b_code=billstok.b_code
bill.b_custname=cust.c_name
billstok.b_stokname=stok.s_name
stok.s_kind=billkind.kind 'exec(@sql)