table1中有符合条件的三个记录;
A
B
C现在想把这三条记录更新到table2的一个字段中,字段中的内容显示为
A;B;C如果有符合记录的条数为A,B,C,D ,则显示成A;B;C;D请问这样的SQL语句如何写,用子查询可以实现吗?

解决方案 »

  1.   


    if object_id('tempdb.dbo.#T') is not null drop table #T
    create table #T (A int,B varchar(1))
    insert into #T
    select 1,'a' union all
    select 1,'b' union all
    select 1,'c' union all
    select 2,'d' union all
    select 2,'e'select A, B=(stuff((select ';'+B from #T where A=a.A for xml path('')),1,1,'')) 
    from #T a 
    where A=1
    group by A/*
    A         B
    1         a;b;c
    */
      

  2.   

    楼上的,我的是Access数据库,请问能支持stuff吗?
      

  3.   

    access?还是程序来做这个工作吧
      

  4.   

    个人感觉ACCESS比较不好用,如果在Delphi的数据集里处理会更好些,方法就是循环、组合。