读书人

sql去重去掉相同的记录取出单一记录

发布时间: 2012-08-17 02:08:34 作者: rapoo

sql去重去掉相同的记录,取出单一记录,distinct也不行,求解决方法

SQL code
select          distinct( proSaleBill.proSaleBillCode),              proSaleBill.BusiName     ,                proSaleBill.saleMan,              proSaleBill.madeBillDate,              proSaleBill.departmentName,              proSaleBill.madeBillUser                          from   proSaleBillwhere  mangeReview is nullgroup by  proSaleBill.proSaleBillCode,          proSaleBill.BusiName,            proSaleBill.saleMan,          proSaleBill.madeBillDate,          proSaleBill.departmentName,          proSaleBill.madeBillUser

执行此存储过程得到如下记录:


ps:proSaleBill表除了上述字段,还有其他字段。
就像上图,一个订单可能有多个成品记录,每个成品的数量 单价 等是不一样的。但是一个订单的公共数据是一样的,如业务员,商务伙伴、制单日期、制单部门、制单员。

现在我想一个订单只取出一个记录,而不是像上面这样XC201207130009出现了三条,请问有什么实现方法。
在线等!!!万分感谢!!!

[解决办法]
SQL code
select          proSaleBill.proSaleBillCode,      min(proSaleBill.BusiName)  BusiName,        min(proSaleBill.saleMan) saleMan,      min(proSaleBill.madeBillDate) madeBillDate,      min(proSaleBill.departmentName) departmentName,      min(proSaleBill.madeBillUser) madeBillUser               from   proSaleBillwhere  mangeReview is nullgroup by  proSaleBill.proSaleBillCode
[解决办法]
不知道你最后想怎么取数据,按照你现在的语句,去掉proSaleBill.madeBillDate这列就行了.
[解决办法]
明显madeBillDate不一样,可以格式化一下,只取yyyy-MM-dd
[解决办法]
把除了proSaleBillCode的字段用聚合函数 然后GROUP BY

读书人网 >SQL Server

热点推荐