on ‎2018 Mar 15 3:51 AM
Hi, experts.
I have a issue. I need to delete duplicates from local table variable in AMDP.
I find this
delete from tab
where "$rowid$" in
(
SELECT LEAD($rowid$) over (partition by field1, field2) from tab
) ;
But for local table variable it is do not work .
Help others by sharing your knowledge.
AnswerRequest clarification before answering.
Now this is a prime example for why one should try to ask about how to achieve something instead of how to do this little step in the overall solution.
Your problem actually is: get me the most current months record for every combination of material, factory and year.
There's a fairly straight forward approach for that.
Step 1 is an easy MAX() aggregation.
Step 2 is an easy filtering via INNER JOIN
select s.matnr, s.werks, s.gjahr, s.monat, s.stock
from stock s
inner join (select matnr, werks, gjahr, max(monat) as max_month
from stock
group by matnr, werks, gjahr) ms
on ( s.matnr, s.werks, s.gjahr, s.monat)
= (ms.matnr, ms.werks, ms.gjahr, ms.max_month);
With your demo data this yields:
MATNR WERKS GJAHR MONAT STOCK
1000000000 1000 2017 05 0
1000000001 1000 2018 03 3
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 12 | |
| 9 | |
| 6 | |
| 4 | |
| 4 | |
| 4 | |
| 3 | |
| 3 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.