create table demo(类 varchar(20)) insert into demo values('上衣')
insert into demo values('内衣')
insert into demo values('外套')
insert into demo values('西服')create proc [dbo].[pppp] @C1 varchar(1000)
as
begin
declare @sql varchar(8000)
select @sql = isnull(@sql + ',' , '') + 类 from +@C1+ group by 类  -- +' 附近有语法错误。
select @sqlend
自己写出来一个,但是运行的结果不对,那个@C1不能这样子使用,但是这个要用到变量,如何才可以实现 ,谢谢.

解决方案 »

  1.   


    create table demo(类 varchar(20)) 
    insert into demo values('上衣')
    insert into demo values('内衣')
    insert into demo values('外套')
    insert into demo values('西服')
    gocreate proc [dbo].[pppp] @C1 varchar(1000)
    as
    begin
    declare @sql varchar(8000)
    create table #t(类 varchar(20))
    insert into #t
    exec('select 类 from '+@C1)
    select @sql = isnull(@sql + ',' , '') + 类 from #t group by 类 
    print @sql
    end
    goexec [pppp] 'demo'
    godrop proc [pppp]
    drop table demo/***********内衣,上衣,外套,西服
      

  2.   

    --demo
    declare @sql varchar(8000)
    set   @sql= 'SELECT   *   FROM   '+@tablename+ '  
    exec(@sql) 
      

  3.   

    create table demo(类 varchar(20)) insert into demo values('上衣')
    insert into demo values('内衣')
    insert into demo values('外套')
    insert into demo values('西服')create proc [dbo].[pppp] @C1 varchar(1000)
    as
    begin
    exec('declare @sql varchar(8000)
    select @sql = isnull(@sql + '','' , '''') + 类 from '+'demo'+' group by 类 
    select @sql')
    endexec pppp 'demo'/*---------------------
    内衣,上衣,外套,西服(1 行受影响)         
      

  4.   

    --demo
    declare @sql varchar(8000)
    set   @sql= 'SELECT   *   FROM   '+@tablename+ ''  
    exec(@sql) [/code]
      

  5.   

    create proc [dbo].[pppp] @C1 varchar(1000)
    as
    begin
    exec('declare @sql varchar(8000)
    select @sql = isnull(@sql + '','' , '''') + 类 from '+@C1+' group by 类 
    select @sql')
    end
      

  6.   

    if OBJECT_ID('demo') is not null
    drop  table demo
    gocreate table demo(类 varchar(20)) insert into demo values('上衣')
    insert into demo values('内衣')
    insert into demo values('外套')
    insert into demo values('西服')if OBJECT_ID('pppp') is not null
    drop  proc [dbo].[pppp]
    go
    create proc [dbo].[pppp] @C1 varchar(1000)
    as
    begin
    exec('declare @sql varchar(8000)
    select @sql = isnull(@sql + '','' , '''') + 类 from '+@C1+' group by 类 
    select @sql')
    end
    go
    exec pppp 'demo'
    go/*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    内衣,上衣,外套,西服(1 行受影响)
    */