数据库
c1     c2
1      a
2      b
1      f
1      n希望查询为
c1     c2
1      a,f,n 
2      b在 server 2005 中用以下语句正常输出上述结果select c1,c2=stuff((select ','+c2 from aa t where c1=aa.c1 for xml path('')), 1, 1,'') from aa group by c1'但在delphi中结果变为:
c1     c2
1      [memo] 
2      [memo]怎么办?

解决方案 »

  1.   

    c2字段是备注型的吧,所以在grid中显示memo,可以在字段的OnGetText方法中显示出来,或者用第三方的dev系列的grid,把列设置成显备注的
      

  2.   

    select c1,c2=stuff((select ','+c2 from aa t where c1=aa.c1 for xml path('')), 1, 1,'') from aa group by c1'
    将以上语句改为:
    select c1,c2=cast(stuff((select ','+c2 from aa t where c1=aa.c1 for xml path('')), 1, 1,'') as varchar(5)) from aa group by c1
    也就是强制将c2转换为varchar(5)类型。
      

  3.   

    试了,3楼可以,sql语法几乎就是一门语言,结题!