select       distinct( proSaleBill.proSaleBillCode),
  proSaleBill.BusiName  ,  
  proSaleBill.saleMan,
  proSaleBill.madeBillDate,
  proSaleBill.departmentName,
  proSaleBill.madeBillUser           

from   proSaleBill
where  mangeReview is null
group by  proSaleBill.proSaleBillCode,
      proSaleBill.BusiName,  
  proSaleBill.saleMan,
  proSaleBill.madeBillDate,
  proSaleBill.departmentName,
  proSaleBill.madeBillUser
执行此存储过程得到如下记录:
ps:proSaleBill表除了上述字段,还有其他字段。
就像上图,一个订单可能有多个成品记录,每个成品的数量 单价 等是不一样的。但是一个订单的公共数据是一样的,如业务员,商务伙伴、制单日期、制单部门、制单员。现在我想一个订单只取出一个记录,而不是像上面这样XC201207130009出现了三条,请问有什么实现方法。
在线等!!!万分感谢!!!

解决方案 »

  1.   


    select      
        proSaleBill.proSaleBillCode,
          min(proSaleBill.BusiName)  BusiName,  
          min(proSaleBill.saleMan) saleMan,
          min(proSaleBill.madeBillDate) madeBillDate,
          min(proSaleBill.departmentName) departmentName,
          min(proSaleBill.madeBillUser) madeBillUser               
    from   proSaleBill
    where  mangeReview is null
    group by  proSaleBill.proSaleBillCode
      

  2.   

    不知道你最后想怎么取数据,按照你现在的语句,去掉proSaleBill.madeBillDate这列就行了.
      

  3.   

    明显madeBillDate不一样,可以格式化一下,只取yyyy-MM-dd
      

  4.   


    select          proSaleBill.proSaleBillCode,
                  proSaleBill.BusiName     ,  
                  proSaleBill.saleMan,
                  proSaleBill.madeBillDate,
                  proSaleBill.departmentName,
                  proSaleBill.madeBillUser              
                
    from   proSaleBill
    where  mangeReview is null AND (select count(*) from proSaleBill where proSaleBillCode=t.proSaleBillCode and madeBillDate>t.madeBillDate )<1
    group by  proSaleBill.proSaleBillCode,
              proSaleBill.BusiName,  
              proSaleBill.saleMan,
              proSaleBill.madeBillDate,
              proSaleBill.departmentName,
              proSaleBill.madeBillUser
      

  5.   

    把除了proSaleBillCode的字段用聚合函数  然后GROUP BY