详见: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.   

    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)
      

  2.   

    怎么有错误:对数据类型而言运算符无效。运算符为 divide,类型为 varchar。
      

  3.   

    libin_ftsafe(子陌红尘:当libin告别ftsafe) 
    这位大哥来过了,呵呵!!!小生学习!!!
      

  4.   

    --try
    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)
      

  5.   

    还是提示: '/10,[B]=rtrim(销售数量)' 附近有语法错误。
      

  6.   

    建测试环境:
    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
      

  7.   

    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
    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)
      

  8.   

    declare @sql varchar(8000)
    set @sql='select 产品名'
    select @sql=@sql+',['+产品名+']=1.00*销售数量/'+rtrim(销售数量) from 表2 order by 产品名 
    set @sql=@sql+' from 表1 order by 产品名'
    exec(@sql)
      

  9.   

    不是要结果这个
    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)