Declare @FieldName VarChar(8000)
Set @FieldName=''
Select @FieldName=@FieldName+Name From BExec('Select '+@FieldName+' From A')
//Select @FieldName as ResultA From A

解决方案 »

  1.   

    declare @a varchar(8000)
    set @a=''
    select @a=@a+','+name from b表select right(@a,len(@a)-1)
      

  2.   

    1,
    create function getstr(@id Nchar(4000))
    returns Nvarchar(4000)
    as 
    begin
    declare @str Nvarchar(2000)
    set @str=N''
    select @str=@str+rtrim(bill)+N',' from b
    where 编码=@id
    if @str<>N'' 
        set @str=left(@str,len(@str)-1)
    return @str
    endGO
    2,
    select 编码,dbo. getstr( getstr) as 名称 from a group by 编码
      

  3.   

    declare @re varchar(8000)
    set @re=''
    select @re=@re+name from B表--@re就是返回值
      

  4.   

    agree with CrazyFor(上苍保佑吃完了饭的人民)
      

  5.   

    declare @s varchar(8000)
    set @s=''
    select @s=@s+name from TableB
    select @s from TableB
      

  6.   


    以前的帖子中摘的,也许对你有些帮助。set nocount on
    declare @YourResultTable  table (id varchar(2), value varchar(10))
    insert @YourResultTable  values('1',        'cool')
    insert @YourResultTable  values('1',        'nice')
    insert @YourResultTable  values('1',        'wow')
    insert @YourResultTable  values('2',        'cool')
    insert @YourResultTable  values('2',        'wow')
    insert @YourResultTable  values('4',        'nice')
    insert @YourResultTable  values('6',        'cool')
    insert @YourResultTable  values('6',        'nice')select * from @YourResultTabledeclare @z varchar(100),@q varchar(2)
    select  @q = nulldeclare @ProcessTable table (id varchar(2), value varchar(100))
    insert @ProcessTable  
      select id, value  from  @YourResultTable
      order by id, valueupdate  @ProcessTable
      set  @z = value = case @q when id then @z else '' end + value +',' , @q = id 
      from  @ProcessTable
    select * from @ProcessTable
      

  7.   

    贴的以前的帖子的内容,希望对你有帮助。
    set nocount on
    declare @YourResultTable  table (id varchar(2), value varchar(10))
    insert @YourResultTable  values('1',        'cool')
    insert @YourResultTable  values('1',        'nice')
    insert @YourResultTable  values('1',        'wow')
    insert @YourResultTable  values('2',        'cool')
    insert @YourResultTable  values('2',        'wow')
    insert @YourResultTable  values('4',        'nice')
    insert @YourResultTable  values('6',        'cool')
    insert @YourResultTable  values('6',        'nice')select * from @YourResultTabledeclare @z varchar(100),@q varchar(2)
    select  @q = nulldeclare @ProcessTable table (id varchar(2), value varchar(100))
    insert @ProcessTable  
      select id, value  from  @YourResultTable
      order by id, valueupdate  @ProcessTable
      set  @z = value = case @q when id then @z else '' end + value +',' , @q = id 
      from  @ProcessTable
    select * from @ProcessTable
      

  8.   

    举例:   1、TABLE1 字段I,字段O
       2、TABLE2 字段I,字段H
       3、TABLE3 字段H,字段N
    要求:
      根据TABLE1 字段I去读TABLE2 字段H再去读TABLE3字段N
      再将相同I的N字段连接起来[因为是字符]作为一个新的字段M
      TABLE1 与TABLE2 的关系是一对多;create table table_1 ( i int , o int)
    create table table_2 ( i int , h int)
    create table table_3 ( h int , m varchar(4))create function get_n (@i int)
    returns varchar(800)
    as
    begin
      declare @str varchar(800)
      select  @str =''
      select  @str =@str + table_3.m from table_2 ,table_3 where table_2.i=@i and table_2.h = table_3.h 
      return @str
    end
    select i,dbo.get_n(i) from table_1