I need some help. I have created a view in sql 2012 that will take a persons id# and display an entry date and the balance that was entered on that date. I've tried to convert the balance and even tried increasing the entry date and balance amount fields from 10.
The balance_amount in my file has no more than 5 digits before the decimal and 6 digits after the decimal.
I need the output to be:
people_org_code_id | entry_date1 | balance1 | entry_date2 | balance2
--------------------------------------------------------------------
001234567 01/01/2018 2455.33 02/26/2018 358.33
005212222 01/24/2018 25.00
and so forth until it reaches both entry_date15 and balance15.
The code I have so far is:
SELECT people_org_code_id,
[entry_date1] AS entry_date1,
[balance_amount1] AS balance1,
[entry_date2] AS entry_date2,
[balance_amount2] AS balance2,
[entry_date3] AS entry_date3,
[balance_amount3] AS balance3,
[entry_date4] AS entry_date4,
[balance_amount4] AS balance4,
[entry_date5] AS entry_date5,
[balance_amount5] AS balance5,
[entry_date6] AS entry_date6,
[balance_amount6] AS balance6,
[entry_date7] AS entry_date7,
[balance_amount7] AS balance7,
[entry_date8] AS entry_date8,
[balance_amount8] AS balance8,
[entry_date9] AS entry_date9,
[balance_amount9] AS balance9,
[entry_date10] AS entry_date10,
[balance_amount10] AS balance_amount10,
[entry_date11] AS entry_date11,
[balance_amount11] AS balance_amount11,
[entry_date12] AS entry_date12,
[balance_amount12] AS balance_amount12,
[entry_date13] AS entry_date13,
[balance_amount13] AS balance_amount13,
[entry_date14] AS entry_date14,
[balance_amount14] AS balance_amount14,
[entry_date15] AS entry_date15,
[balance_amount15] AS balance_amount15
FROM (SELECT people_org_code_id,
col + '_' + CONVERT(NVARCHAR(2), rw, 1) AS col,
val
FROM (SELECT cc.people_org_code_id,
CONVERT(NVARCHAR(13), Cast(cc.entry_date AS DATE), 1)
AS
entry_date,
CONVERT(NVARCHAR(13), Cast(
cc.balance_amount AS decimal(5,2))) AS balance_amt,
Row_number()
OVER(
partition BY cc.people_org_code_id
ORDER BY cc.entry_date)
AS rw
FROM chargecredit cc) AS q1
UNPIVOT (val
FOR col IN (entry_date, balance_amt)) AS u1) x
PIVOT (Max(val)
FOR col IN ([entry_date1],
[balance_amount1],
[entry_date2],
[balance_amount2],
[entry_date3],
[balance_amount3],
[entry_date4],
[balance_amount4],
[entry_date5],
[balance_amount5],
[entry_date6],
[balance_amount6],
[entry_date7],
[balance_amount7],
[entry_date8],
[balance_amount8],
[entry_date9],
[balance_amount9],
[entry_date10],
[balance_amount10],
[entry_date11],
[balance_amount11],
[entry_date12],
[balance_amount12],
[entry_date13],
[balance_amount13],
[entry_date14],
[balance_amount14],
[entry_date15],
[balance_amount15] )) p1