数据库中有3行数据,用户    资料
  A     1111
  A     2222
  A     3333我想把这个用户的全部'资料'查询出来,在DBgrid的一个列里面显示出来,如何处理?结果:   用户   资料
  A      1111 2222 3333谢谢

解决方案 »

  1.   

    你那个不适合dbgrid的应用,而stringsgrid循环填加可以满足你的要求.
      

  2.   

    to:babydog01你的意思换成 stringsgrid 控件?有没有其他的控件可以直接实现的,DBgridEH 或者RzDBgrid ?请指教下具体步骤,谢谢
      

  3.   

    创建一个SQL方法
    CREATE FUNCTION AggregateString 

    参数

    RETURNS varchar(3000) 
    AS 
    BEGIN 
    declare @Str varchar(3000) 
    set @Str = '' 
    select @Str = @Str + 资料 from 表
    where 条件
    return @Str 
    END使用以下SQL语句select 用户,dbo.AggregateString(资料)
    from 表
    group by 用户
      

  4.   


    对不起,英文不太好,打错了。应该是stringgrid。你的需求中还有一个行转列的问题。
    DBgridEH 或者RzDBgrid ?都不具备行转列的功能。我对SQL不太懂,可以试试楼上的方法行不行。
      

  5.   

    列传行是一个delphi很蹩脚的面试题,如果行数不多的话,可以这样写
    select 用户,1111 as 资料1,2222 as 资料2,3333 as 资料3 from 表1 
    行数多的话,还是看LS吧