请教一个foxpro数据库问题
表如下
表字段: 房间代码 项目名称(字符串) 应交金额(浮点型)
A1 水费 27.3
A1 电费 200
A1 管理费 316.8
A1 其他费用 30
A2 水费 30.3
A2 电费 258
A2 管理费 316.8
A2 其他费用 30
怎样用一条SQL语句把数据整合成:
房间代码 内容
A1 水费:27.3;电费:200;管理费:316.8;其他费用:30.
A2 水费:30;电费:225;管理费:316.8;其他费用:30.
问题点数:50、回复次数:3Top
1 楼filebat(Mark)回复于 2005-07-18 21:29:42 得分 35
--如果不准用用户自定义函数的话,那就比较难做了.
--还有楼主给测试结果有误.A2的电费是258, 而不是225
--测试数据
create table ta(房间代码 varchar(10), 项目名称 varchar(10), 应交金额 float)
insert ta select 'A1', '水费', 27.3
union all select 'A1', '电费', 200
union all select 'A1', '管理费', 316.8
union all select 'A1', '其他费用', 30
union all select 'A2', '水费', 30.3
union all select 'A2', '电费', 258
union all select 'A2', '管理费', 316.8
union all select 'A2', '其他费用', 30
go
--创建用户自定义函数
create function dbo.getall(@roomcode varchar(10))
returns varchar(100)
begin
declare @str varchar(100)
set @str=''
select @str=@str+项目名称+':'+convert(varchar(10), 应交金额)+';'
from ta where 房间代码=@roomcode
set @str=stuff(@str, len(@str), 1, '.')
return @str
end
go
--查询
select 房间代码, 内容=dbo.getall(房间代码)
from ta
group by 房间代码
--清除
drop function dbo.getall
drop table taTop
2 楼zlp321002(Life Is Good,Let's Shine)回复于 2005-07-18 21:57:49 得分 15
--哎,不知道Foxpro能不能象楼上那么写!没用过FoxproTop
3 楼wilmer(许多伟劣茂牌)回复于 2005-07-18 22:14:42 得分 0
foxpro好象没有create function 和declare这些东东
测试数据是我随便填上去的,没有从数据库中取出来
第二条是要改为:A2 水费:30;电费:258;管理费:316.8;其他费用:30.
Top




