这是表:
活动表
|Place of order|Order NR | Nr of activity|type of activity| Date of activity|
|01 |1 | 00001 | 1 | Date1 |
|01 |1 | 00002 | 1 | Date1 |
|01 |1 | 00003 | 2 | Date2 |
|02 |1 | 00001 | 1 | Date9 |
|01 |2 | 00001 | 1 | Date4 |
|01 |2 | 00003 | 2 | Date5 |
|01 |2 | 00002 | 3 | Date3 |
|02 |2 | 00001 | 1 | Date10 |
|02 |2 | 00006 | 2 | Date11 |
|02 |2 | 00018 | 2 | Date11 |
|02 |1 | 00002 | 2 | Date1 |
订单和订单编号的地点必须为独特性, Activity Type 1 is order placed;
和 Activity Type 2 is order dispatched
在这种情况下,还有其他活动并不有趣。
存在错误(不知道它是怎么发生的)。对于几个订单(订单和订单NR。
我正在尝试获得每个顺序的活动1和类型2的日期,以及订单和订单NR的地点。
结果应该看起来像:
对于下达订单:
|Place of order|Order NR | Nr of activity|type of activity| Date of activity|
|01 |1 | 00001 | 1 | Date1 |
|02 |1 | 00001 | 1 | Date9 |
|01 |2 | 00001 | 1 | Date4 |
|02 |2 | 00001 | 1 | Date10 |
用于排出订单:
|Place of order|Order NR | Nr of activity|type of activity| Date of activity|
|01 |1 | 00003 | 2 | Date2 |
|02 |1 | 00002 | 2 | Date12 |
|01 |2 | 00002 | 2 | Date5 |
|02 |2 | 00006 | 2 | Date11 |
我不知道如何从结果中排除重复项。这意味着我只需要一行(最低活动编号的行)。
请尝试:
;with cte as(
select rank() over(order by [Nr of activity] ) as rid , * from TableName
) select * from cte where rid=1