asp中SQL合计查询问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 05:21:48
数据库xf.mdb 有两个表如下:
1、消费记录表(名:jlb)
姓名 商品ID 支出
赵 1 100
李 1 100
赵 2 200
钱 2 100
赵 2 200
钱 3 200
李 1 100
赵 1 80
孙 1 90
李 3 100
赵 3 300
赵 3 200
李 2 100

2、消费类型别(名:lxb)
商品ID 类型
1 食品
2 交通
3 服装

我想输出:

姓名 食品支出 交通支出 服装支出 合计
李 200 100 100 400
钱 0 100 200 300
孙 90 0 0 90
赵 180 400 500 1080

在ASP中,怎么用一个SQL语句查询出我想输出的记录集?如果不能,请问如何处理?
请大家注意:数据库是ACCESS.
还有,若商品ID和消费类型不是一一对应怎么办?也是说,可能商品ID:1,2,3,4,对应的消费类型为:食品,交通,服装,食品。因为商品可能很多,而我只分了三类消费类型。第二个表所列数据不完全,其第二个字段的值是不唯一的。

谢谢各位的关注.我用两个查询解决了.yuchangtc兄、溜须拍马关云长和lzp4881兄的答案都令我耳目一新.因解决问题的启发来自yuchangtc兄,故采纳为答案.

select 姓名,sum(case when 商品ID=1 then 支出 else 0 end)as 食品支出,
sum(case when 商品ID=2 then 支出 else 0 end)as 交通支出,sum(case when 商品ID=3 then 支出 else 0 end)as 服装支出 from jib group by 姓名

我也只能给你个思路...我看不到最真实的表结构.我也只能这样了.我做了一点点修改.后面加了个GROUP by 姓名..这个第一次回答的时候忘记加了.现在补充上.你看着参考一下吧.

http://hi.baidu.com/lz0830/blog/item/aaabfa1720a8a0064a90a7ee.html

sum(支出)
group by 姓名,商品ID
这样可以一次性读取所需的数据

然后处理成一个三维数组,商品ID作为第二维

食品支出+交通支出+服装支出=合计

某项支出没有出现则为0