select  ConfirmMan+','+AccessoryName from a inner join b on a.id=b.id
结果:
尼龙肩带,LN
拉链,LL希望能把上面的两行作为一行数据显示出来:[尼龙肩带,LN][拉链,LL]

解决方案 »

  1.   

    --trydeclare @sql varchar(8000)
    set @sql=''
    select  @sql=@sql+'['+ConfirmMan+','+AccessoryName+']' from a inner join b on a.id=b.id
    print @sql
      

  2.   

    因为这里这一段要和上面union all,所以没办法用动态的,有没有更好的方法?
      

  3.   

    declare @str varchar(8000)
    select @str=@str+field from inner joio.........................
      

  4.   

    function不可以吗?
    create function fm_f_get_txt()
    retruns varchar(8000)
    as
    begin
    declare @sql varchar(8000)
    set @sql=''
    select  @sql=@sql+'['+ConfirmMan+','+AccessoryName+']' from a inner join b on a.id=b.id
    return (@sql)end调用
    select dbo.fm_f_get_txt()
      

  5.   

    select PersonName from c
    union all
    select  ConfirmMan+','+AccessoryName from a inner join b on a.id=b.id
    union all
    ...
    实际上是多张表的联接,如果光是查询一个倒好办了