我的表结构是这样:
单号       客户     数量
XS200801      某人       10
XS200801      某人       20
XS200802    另外某人     30
XS200802    另外某人     40我想在读出大略的信息 就是 同一单号 还有客户
 就象这样XS200801     某人XS200802    另外某人
我使用了这样的句子 可以通过 但是想请老师们指点一下 有没更简单的方法
    SQL = "Select distinct 单号 from XSD")
    RST.Open SQL, CNN, adOpenKeyset, adLockOptimistic
    If RST.RecordCount > 0 Then
    For I = 1 To RST.RecordCount
    HB = RST.Fields(0)
    SQL1 = "Select 客户 from XSD where 单号 ='" & HB & "'"
    RST1.Open SQL1, CNN, adOpenKeyset, adLockOptimistic
    HB = HB & " " & RST1.Fields(0)
    List1.AddItem HB
    RST1.Close
    RST.MoveNext
    Next
    End If数据库是ACCESS

解决方案 »

  1.   

    select distinct 单号,客户 from XSD
    select 单号,客户 from XSD group by 单号,客户
      

  2.   


        SQL = "Select distinct 单号 from XSD") 
        RST.Open SQL, CNN, adOpenKeyset, adLockOptimistic 
    这已经够简单了,还要如何简单?????????
      

  3.   

    2楼的朋友 我的情况是有时客户会重复的 但是单号不一样 就象这样
     
    单号      客户    数量
    XS200801      某人      10
    XS200801      某人      20
    XS200802    另外某人    30
    XS200802    另外某人    40
    XS200803      某人      10
    XS200803      某人      20我想在读出大略的信息 就是 同一单号 还有客户
    就象这样XS200801    某人XS200802    另外某人
    XS200803    某人
    请问这样的话 select distinct 单号,客户 from XSD 还可以用么
      

  4.   


    可以,select distinct 单号,客户 from XSD 可以得到:XS200801    某人 XS200802    另外某人 XS200803    某人它会认为是不同的记录。
      

  5.   

    distinct 的用法建议仔细看一下,这种问题试一试很简单的
      

  6.   

    可以,建议仔细看一下distinct和group by 的用法
      

  7.   

    SELECT A.*,B.CreateTime, B.CreatePerson FROM A left JOIN B ON A.ID= B.CCID 
    我只想获得A表中的全部信息,B表中不符合条件的信息不显示,但是查询出来的全部记录中符合A.ID= B.CCID 条件的记录全显示出来了。而且是有很多的相同,只是B.CreateTime, B.CreatePerson显示的内容不一样。该怎么解决啊!各位帮忙看看吧!
      

  8.   


    B.CreateTime, B.CreatePerson显示的内容不一样,是不是不重要?如果是只要显示最早CreateTime, 加where Min(B.CreateTime)