1. it is not possible to generate a varying number of columns, ... but for a
predefined number of (payment) columns it would work. (If you do not need
separate columns use LISTAGG)
2. Generate first a column where you generate a sequence with ROW_NUMBER
3. In the final SELECT you group your payments according the ROW_NUMBER
Something like this:
With x as (Select JoinKey1, JoinKey2, Payment, Row_Number() Over(Partition
By JoinKey1, JoinKey2 Order By PaymentDate) Counter
From ?)
Select a.JoinKey1, a.JoinKey2, Sum(case When Counter = 1 Then Payment Else
0 End) Payment_1,
Sum(Case When Counter = 2 Then Payment Else
0 End) Payment_2,
?
Sum(Case When Counter = n Then Payment Else
0 End) Payment_N
From YourFile a Join x on a.JoinKey1 = x.JoinKey1 and a.JoinKey2 =
x.JoinKey2
Group By a.JoinKey1, a.JoinKey2
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Alan
Shore via MIDRANGE-L
Sent: Dienstag, 22. September 2020 22:29
To: midrange-l@xxxxxxxxxxxxxxxxxx
Cc: Alan Shore <ashore@xxxxxxxx>
Subject: Need help on capturing data in a query
Hi everyone
We are on v7r3
I hope I can explain this
I have a query that creates an extract - one record per entity I need to
capture extra data from another file, but this other file can have multiple
records per entity
This extra file contains payment information
Instead of creating an extract with multiple records per entity, I have been
asked to leave it at one record per entity The only way that I can see this
working is to add each piece of data to the end of the one record
For example
One entity has 2 payments, therefore create 2 new fields on the one entity
Payment_1, Payment_2 Another entity has 5 payments, therefore create the 5
fields Payment_1, Payment_2, Payment_3, Payment_4, Payment_5 The next entity
has 4 payments, therefore create the 4 fields Payment_1, Payment_2,
Payment_3, Payment_4
Hope this makes SOME sense
My question is - how can I do this?
I thought of creating a CTE of
Entity, Payment information, Sequence number Where the sequence number is
the chronological instance of the payment for that entity Question is - how
to create a sequence number Then based upon the sequence number, put the
payment information into
Payment_1 if sequence is 1, Payment_2 if sequence is 2, Payment_3 if
sequence is 3, Payment_4 if sequence is 4, Payment_5 if sequence is 5 Etc.
Yeesh
I just read this through god knows how many times Changed the explanation,
god know how many times Hope this makes sense
As always - all answers gratefully accepted
Alan Shore
E-mail : mailto:ASHORE@xxxxxxxx<mailto:ASHORE@xxxxxxxx>
Phone [O] : (631) 200-5019
Phone [C] : (631) 880-8640
'If you're going through hell, keep going.'
Winston Churchill
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: mailto:MIDRANGE-L@xxxxxxxxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/midrange-l
or email: mailto:MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/midrange-l.
Please contact mailto:support@xxxxxxxxxxxxxxxxxxxx for any subscription
related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.