There are several unpivot answers here. But not quite like what I need to do. What I am trying to do is unpivot data but keeping 2 columns together.
For data I have a PO's with multiple distribution accounts and amounts.
Example record
PO Num, Acct 1, Amt 1, Acct 2, Amt 2, Acct 3, Amt 3...
I have 100+ PO's with 1 to 5 accounts and amounts
What I need is
PO Num, Acct 1, Amt 1
PO Num, Acct 2, Amt 2
PO Num, Acct 3, Amt 3
My attempt to pull.
Select PO_NUMBER_ID, DistAcct, DistAmt
from
(
Select PO_VENDOR_ID, PO_NUMBER_ID, PO_Dist_ACCOUNT_01, PO_Dist_ACCOUNT_02, PO_Dist_ACCOUNT_03, PO_Dist_ACCOUNT_04, PO_Dist_ACCOUNT_05
, PO_Dist_amt_01, PO_Dist_Amt_02, PO_Dist_Amt_03, PO_Dist_Amt_04, PO_Dist_Amt_05
from [PCGenesisDB].[FAR].[view_Purchase_Order]
where PO_CLOSE_DATE is null
) AcctData
unpivot
(
DistAcct for Acct in (PO_Dist_ACCOUNT_01, PO_Dist_ACCOUNT_02, PO_Dist_ACCOUNT_03, PO_Dist_ACCOUNT_04, PO_Dist_ACCOUNT_05)
) as unpvtAcct
UnPivot
(
DistAmt for Amt in (PO_Dist_amt_01, PO_Dist_Amt_02, PO_Dist_Amt_03, PO_Dist_Amt_04, PO_Dist_Amt_05)
) as unpvtAmt
But with this I get the amounts with each account
Results
PO Num, Acct 1, Amt 1
PO Num, Acct 1, Amt 2
PO Num, Acct 1, Amt 3
PO Num, Acct 2, Amt 1
PO Num, Acct 2, Amt 2
PO Num, Acct 2, Amt 3
PO Num, Acct 3, Amt 1
PO Num, Acct 3, Amt 2
PO Num, Acct 3, Amt 3