以下是引用RandyBoy在2013-3-19 14:32:00的发言:
以上语句运行结果正确,是因为现有数据环境中,同一客户同一产品同一日期只有一笔记录
那你如何去区分每笔记录的时间先后顺序那?你能区别的话,那你继续添加条件取值。
我猜测如果只是按照你添加到记录系统的顺序的话,你只需要在添加一句max(编号) as 编号 应该就可以了把
cmdText = "Select * From {订单} a INNER JOIN (Select 客户,产品, Max(日期) As 日期 ,max(编号) as 编号) From {订单} Group By 客户,产品) b on a.日期 = b.日期 And a.产品 = b.产品 and a.客户 = b.客户 and a.编号 = b.编号"
以上我想应该已经可以简化成如下
cmdText = "Select * From {订单} a INNER JOIN (Select 客户,产品, Max(日期) As 日期 ,max(编号) as 编号) From {订单} Group By 客户,产品) b on a.编号 = b.编号 group by a.客户,a.产品,a.日期"
[此贴子已经被作者于2013-3-19 17:02:34编辑过]