兄弟没分了,但请各位指教一个表操作的问题(50分)

W

wishme

Unregistered / Unconfirmed
GUEST, unregistred user!
一个表,字段结构如下:

客户号 品名 数量
1001 苹果 10
1001 香蕉 20
1001 桔子 10
1002 苹果 20
1002 香蕉 10


另一个表,字段如下:
要把上面的数据倒到下表,程序该怎么写?

客户号 苹果 香蕉 桔子 总计
1001 10 20 10 40
1002 20 10 30

我用的是delphi5/ACCESS

其实就是把字段值换成字段名,快帮一下

 
没有必要,很多报表工具就可以实现这样的结构,
我想你可能是为做报表方便吧?
Report Builder就可以实现这样的交叉表。
 
select distinct 客户号,
(select 数量 from table_name where 客户号=AAA.客户号 and 品名="苹果") as 苹果,
(select 数量 from table_name where 客户号=AAA.客户号 and 品名="香蕉") as 香蕉,
(select 数量 from table_name where 客户号=AAA.客户号 and 品名="桔子") as 桔子,
(select sum(数量) from table_name where 客户号=AAA.客户号) as 总计
from table_name AAA
 
或用ACCESS的交叉表函数

TRANSFORM SUM(数量)
SELECT 客户号,sum(数量) as 总计 FROM TABLE_name group by 客户号
PIVOT 品名
 
顶部