比如说我得数据平常显示为:
编号         姓名     学期   语文    数学
1            张三     一学期  65       85
1            张三     二学期  85       80
1            张三     三学期  70       82
……………………
怎么才能显示成:
编号       姓名      学期     语文    数学
1          张三      一学期  65       85
                     二学期  85       80
                     三学期  70       82
……………………
这个样子呀?

解决方案 »

  1.   

    能否用ADODataSet的comandtext属性select distinct编号 from table进行一次查询,然后再写一个ONFILTERRECORD事件呢?这个事件为过滤掉其他需过滤的字段。
      

  2.   

    你可以在你写select 的时候做这些,在sql里有as这个命令的,你可以把后三个as成一个不是就可以了,具体你自己做做吧,应该是可以的。
      

  3.   

    如果你的数据只是用于显示,可以在取出来之后对数据集的那两个字段进行处理(用个循环就可以啦)后再显示 ________________________欢迎访问和宣传我的论坛http://hthunter.vicp.net/
      

  4.   

    baby19820917 你能说的在清楚些吗?
      

  5.   

    用StringGrid实现就简单多了 我也觉的是这样的 你可以试试呀
      

  6.   

    以前我写的一个存储过程,和你说的基本相同,你看下能不能用得上,
    如有Table1
        ItemID, ItemTypeID,项目类别(ItemType)   项目名称(ItemName)
          1 1 外观       长度
          2 1 外观       宽度
          3 2 温度               里面温度
          4 2 温度       外面温度说明:ItemID为自动编号
          ItemTypeID 为类别ID号
    //建立存储过程如下:
    CREATE PROCEDURE PROCEDURE1
    ASSELECT DISTINCT ItemTypeID,ItemType INTO #TMP01 FROM table1CREATE TABLE #Result(
    [ItemID][int],
    [TypeID][int],
    [ItemTypeID][int],
    [ItemType][varchar](50),
    [ItemName][varchar](50),
    )DECLARE @TypeID int,@ItemtypeID int,@ItemType varchar(50),@ItemName Varchar(50)SELECT @TypeID=0DECLARE Item_Cursor SCROLL CURSOR FOR SELECT ItemType,ItemtypeID FROM #TMP01 
    OPEN Item_Cursor
    FETCH Item_Cursor INTO @ItemType,@ItemtypeID
    WHILE @@FETCH_STATUS=0
    BEGIN   INSERT #Result(TypeID,ItemID,ItemTypeID,ItemType,ItemName)
       SELECT TOP 1 @TypeID,ItemID,@ItemtypeID,@ItemType,ItemName FROM table1 WHERE ItemType=@ItemType
      
    FETCH Item_Cursor INTO @ItemType,@ItemtypeID
    END
    CLOSE Item_Cursor
    DEALLOCATE Item_CursorINSERT INTO #Result(TypeID,ItemID,ItemTypeID,ItemType,ItemName)
      SELECT 1,ItemID,ItemtypeID,ItemType,ItemName FROM table1
      WHERE ItemID NOT IN (SELECT itemID from #Result)UPDATE #Result SET ItemType=NULL WHERE TypeID<>0SELECT ItemType,ItemName FROM #Result ORDER BY ItemTypeID,TypeID调用存储过程
    Exec Procedure1
    得如下结果:
    ItemType  ItemName
    外观 长度
    NULL 宽度
    温度 里面温度
    NULL 外面温度