美国 加州
美国 德州
美国 华盛顿州显示为
美国 加州
     德州
     华盛顿州

解决方案 »

  1.   

    select 国家,min(地区) from tb group by 国家
    union
    select '',地区 from tb
    where 国家 + '-' + 地区 not in
    (select b.国家 + '-' + 地区 from (select 国家,min(地区) from tb group by 国家) b )
    order by 国家
      

  2.   

    如果是crystal report就用子报表
      

  3.   

    以下是对ACCESS表操作
    Set db = Workspaces(0).OpenDatabase("d:\temp\db1.mdb")
       Set rb = db.OpenRecordset("select 国家,地区 from 表1 order by 国家", dbOpenDynaset)
       
       
       rb.MoveFirst
    k = 1
    Do While Not rb.EOF
       flag = False
       strTmp = rb!国家
       strTmp1 = rb!地区
       rb.MoveNext
       k = k + 1
       strTmp2 = rb!国家
       strTmp3 = rb!地区
       If strTmp = strTmp2 Then
          Do While Not strTmp <> strTmp2
             rb.edit
             rb!国家 = " "
             rb.Update
             rb.MoveNext
             k = k + 1
             strTmp2 = rb!国家
             flag = True
          Loop
        End If
          If flag = flase Then
             k = k + 1
             rb.MoveNext
          End If
     Loop
      

  4.   

    我用的是activereport,谁能给讲讲子报表的功能和用法?谢谢
      

  5.   

    我会了,其实特简单,放在groupheader里就行了
      

  6.   

    你在传SQL语句的时候就加一个DISTINCT就可以了比如说:select distinct * from 表名
      

  7.   

    这个使用SQL语句是不能够解决的。
      

  8.   

    activereport没问题,但是我不知道如何在datareport中做到
      

  9.   

    谁说用SQL语句不能解决,你运行我这个试试:
    select 国家,min(地区) from tb group by 国家
    union
    select '',地区 from tb
    where 国家 + '-' + 地区 not in
    (select b.国家 + '-' + 地区 from (select 国家,min(地区) from tb group by 国家) b )
    order by 国家
      

  10.   

    sql有点难以理解,我觉得DATAREPORT提供的分组应该可以解决这个问题,谁会呀?