日期:2014-05-17  浏览次数:20402 次

SQL2000 SQL语句求解,在线等。。。
本帖最后由 w3k 于 2013-01-02 22:38:37 编辑


收费项目表(tb_sfxm)
项目编码    名称      金额
001       交通费     500
002       生活补贴   500
003       通讯费     500
004       住房补贴   500
005       奖金       500
006       提成费     1000

人员参与信息表(tb_info)
收费项目编码  姓名  
001         张三    
002         张三    
003         张三 
004         张三 
005         张三 
001         李四
002         李四 
003         李四
004         李四
001         龙五
002         龙五
003         龙五

根据人员参与信息表对照收费项目表,需要动态生成如下格式:
 
姓名  交通费  生活补贴    通讯费     住房补贴     奖金   提成费  ……  小计
张三   500     500        500       500     500     0           2500 
李四   500     500        500       500      0      0           2000
龙五   500     500        500        0       0      0           1500

    

------解决方案--------------------
if object_id('[tb_sfxm]') is not null drop table [tb_sfxm]
go
create table [tb_sfxm]([项目编码] varchar(3),[名称] varchar(8),[金额] int)
insert [tb_sfxm]
select '001','交通费',500 union all
select '002','生活补贴',500 union all
select '003','通讯费',500 union all
select '004','住房补贴',500 union all
select '005','奖金',500 union all
select '006','提成费',1000
go
if object_id('[tb_info]') is not null drop table [tb_info]
go
create table [tb_info]([收费项目编码] varchar(3),[姓名] varchar(4))
insert [tb_info]
select '001','张三' union all
select '002','张三' union all
select '003','张三' union all
select '004','张三' union all
select '005','张三' unio