详见:http://community.csdn.net/Expert/topic/4988/4988757.xml?temp=.7772638
如果是两张表的相互交叉计算
表1 表2
产品名 销售数量 产品名 销售数量
A 2 甲 4
B 3 乙 5
。 。 。 。
。 。 。 。
。 。 。 。看看能不能得到类似上述的效果:
统计出来的结果如下:
甲 乙
A 2/4 2/5 B 3/4 3/5
。 ...
。 ...
。 ...
如果是两张表的相互交叉计算
表1 表2
产品名 销售数量 产品名 销售数量
A 2 甲 4
B 3 乙 5
。 。 。 。
。 。 。 。
。 。 。 。看看能不能得到类似上述的效果:
统计出来的结果如下:
甲 乙
A 2/4 2/5 B 3/4 3/5
。 ...
。 ...
。 ...
set @sql='select 产品名'
select @sql=@sql+',['+产品名+']=rtrim(销售数量)+'''/'+rtrim(销售数量)+'''' from 表2 order by 产品名
set @sql=@sql+' from 表1 order by 产品名'
exec(@sql)
这位大哥来过了,呵呵!!!小生学习!!!
declare @sql varchar(8000)
set @sql='select 产品名'
select @sql=@sql+',['+产品名+']=rtrim(销售数量)'+'''/'+rtrim(sum(销售数量)) from 表2 group by 产品名
set @sql=@sql+' from 表1 order by 产品名'
exec(@sql)
create table 表1(产品名 varchar(10), 销售数量 int)
insert into 表1 select 'A',2
insert into 表1 select 'B',3
insert into 表1 select 'C',4
insert into 表1 select 'D',5create table 表2(产品名 varchar(10) , 销售数量 int )
insert into 表2 select '甲',10
insert into 表2 select '乙',11
insert into 表2 select '丙',12
insert into 表2 select '丁',13
insert into 表1 select 'A',2
insert into 表1 select 'B',3
insert into 表1 select 'C',4
insert into 表1 select 'D',5create table 表2(产品名 varchar(10) , 销售数量 int )
insert into 表2 select '甲',10
insert into 表2 select '乙',11
insert into 表2 select '丙',12
insert into 表2 select '丁',13
declare @sql varchar(8000)
set @sql='select 产品名'
select @sql=@sql+',['+产品名+']=rtrim(销售数量)'+'+''/'+rtrim(sum(销售数量)) +''''from 表2 group by 产品名
set @sql=@sql+' from 表1 order by 产品名'
print @sql
exec(@sql)
set @sql='select 产品名'
select @sql=@sql+',['+产品名+']=1.00*销售数量/'+rtrim(销售数量) from 表2 order by 产品名
set @sql=@sql+' from 表1 order by 产品名'
exec(@sql)
declare @sql varchar(8000)
set @sql='select 产品名'
select @sql=@sql+',['+产品名+']=rtrim(销售数量)+''/''+'''+rtrim(销售数量)+'''' from 表2 order by 产品名
set @sql=@sql+' from 表1 order by 产品名'
exec(@sql)