0% found this document useful (0 votes)
25 views

EntityName Pivot Logic - SQL

This document contains SQL code to transpose a table of policy data from a long format to a wide format. It selects policy data from various tables, including the insured name and entity names associated with each policy. It then uses dynamic SQL to pivot the data, with each entity name becoming its own column, and inserts it into a table with the transposed format. Finally, it selects the transposed data from the output table.

Uploaded by

raghu.k326
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

EntityName Pivot Logic - SQL

This document contains SQL code to transpose a table of policy data from a long format to a wide format. It selects policy data from various tables, including the insured name and entity names associated with each policy. It then uses dynamic SQL to pivot the data, with each entity name becoming its own column, and inserts it into a table with the transposed format. Finally, it selects the transposed data from the output table.

Uploaded by

raghu.k326
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

DECLARE @cols AS NVARCHAR(MAX),

@query AS NVARCHAR(MAX)

IF OBJECT_ID('tempdb..#cte') IS NOT NULL

DROP TABLE #cte

SELECT i.CODE as 'Policy Number' ,

i.NAME,

i.ADDRESS1,

i.ADDRESS2,

i.CITY,

i.STATE,

i.ZIPCODE,

w.TEXT as 'Entity Name',

w.Type as 'Entity Type'

into #cte

FROM dbo.INSURED i

JOIN dbo.WCLOCNAM w

ON i.CODE = w.CODE

WHERE i.STAT2 = 'i' --Issued

AND i.STAT5 <> 'C' -- Not Cancelled

AND i.POEXPIR > GETDATE() -- Not Expired as of today

AND w.TYPE = 'N' --(N)amed Insured

ORDER BY i.CODE, w.TYPE ASC;

IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL

DROP TABLE #tmp1

select distinct 'EntityName'+

format(row_number() over(partition by [Policy Number]

order by [Entity Name] asc),'000') seq

into #tmp1 from #cte order by 1


select @cols = STUFF((SELECT distinct ',' + QUOTENAME(seq)

from (

select seq from #tmp1

)d

FOR XML PATH(''), TYPE

).value('.', 'NVARCHAR(MAX)')

,1,1,'')

--select @cols

set @query = 'SELECT [Policy Number],[NAME],ADDRESS1,ADDRESS2,CITY,STATE,ZIPCODE,' + @cols


+'

from

select [Policy Number],[NAME],ADDRESS1,ADDRESS2,CITY,STATE,ZIPCODE,[Entity Name],

''EntityName''+

format(row_number() over(partition by [Policy Number]

order by [Entity Name]),''000'') seq

from #cte

)x

pivot

max([Entity Name])

for seq in (' + @cols + ')

)p'
DECLARE @InforcePolicyTranspose table( [Policy Number] VARCHAR(MAX), [NAME]
VARCHAR(MAX), [ADDRESS1] VARCHAR(MAX), [ADDRESS2] VARCHAR(MAX), [CITY]
VARCHAR(MAX), [STATE] VARCHAR(MAX), [ZIPCODE] VARCHAR(MAX),

[EntityName001] VARCHAR(MAX), [EntityName002] VARCHAR(MAX), [EntityName003]


VARCHAR(MAX), [EntityName004] VARCHAR(MAX), [EntityName005] VARCHAR(MAX),
[EntityName006] VARCHAR(MAX),

[EntityName007] VARCHAR(MAX), [EntityName008] VARCHAR(MAX), [EntityName009]


VARCHAR(MAX), [EntityName010] VARCHAR(MAX), [EntityName011] VARCHAR(MAX),
[EntityName012] VARCHAR(MAX),

[EntityName013] VARCHAR(MAX), [EntityName014] VARCHAR(MAX), [EntityName015]


VARCHAR(MAX), [EntityName016] VARCHAR(MAX), [EntityName017] VARCHAR(MAX),
[EntityName018] VARCHAR(MAX),

[EntityName019] VARCHAR(MAX), [EntityName020] VARCHAR(MAX), [EntityName021]


VARCHAR(MAX), [EntityName022] VARCHAR(MAX), [EntityName023] VARCHAR(MAX),
[EntityName024] VARCHAR(MAX),

[EntityName025] VARCHAR(MAX), [EntityName026] VARCHAR(MAX), [EntityName027]


VARCHAR(MAX), [EntityName028] VARCHAR(MAX), [EntityName029] VARCHAR(MAX),
[EntityName030] VARCHAR(MAX),

[EntityName031] VARCHAR(MAX), [EntityName032] VARCHAR(MAX), [EntityName033]


VARCHAR(MAX), [EntityName034] VARCHAR(MAX), [EntityName035] VARCHAR(MAX),
[EntityName036] VARCHAR(MAX),

[EntityName037] VARCHAR(MAX), [EntityName038] VARCHAR(MAX), [EntityName039]


VARCHAR(MAX), [EntityName040] VARCHAR(MAX), [EntityName041] VARCHAR(MAX),
[EntityName042] VARCHAR(MAX),

[EntityName043] VARCHAR(MAX), [EntityName044] VARCHAR(MAX), [EntityName045]


VARCHAR(MAX), [EntityName046] VARCHAR(MAX), [EntityName047] VARCHAR(MAX),
[EntityName048] VARCHAR(MAX),

[EntityName049] VARCHAR(MAX), [EntityName050] VARCHAR(MAX), [EntityName051]


VARCHAR(MAX), [EntityName052] VARCHAR(MAX), [EntityName053] VARCHAR(MAX),
[EntityName054] VARCHAR(MAX),

[EntityName055] VARCHAR(MAX), [EntityName056] VARCHAR(MAX), [EntityName057]


VARCHAR(MAX), [EntityName058] VARCHAR(MAX), [EntityName059] VARCHAR(MAX),
[EntityName060] VARCHAR(MAX),

[EntityName061] VARCHAR(MAX), [EntityName062] VARCHAR(MAX), [EntityName063]


VARCHAR(MAX), [EntityName064] VARCHAR(MAX), [EntityName065] VARCHAR(MAX),
[EntityName066] VARCHAR(MAX),

[EntityName067] VARCHAR(MAX), [EntityName068] VARCHAR(MAX), [EntityName069]


VARCHAR(MAX), [EntityName070] VARCHAR(MAX), [EntityName071] VARCHAR(MAX),
[EntityName072] VARCHAR(MAX),
[EntityName073] VARCHAR(MAX), [EntityName074] VARCHAR(MAX), [EntityName075]
VARCHAR(MAX), [EntityName076] VARCHAR(MAX), [EntityName077] VARCHAR(MAX),
[EntityName078] VARCHAR(MAX),

[EntityName079] VARCHAR(MAX), [EntityName080] VARCHAR(MAX), [EntityName081]


VARCHAR(MAX), [EntityName082] VARCHAR(MAX), [EntityName083] VARCHAR(MAX),
[EntityName084] VARCHAR(MAX),

[EntityName085] VARCHAR(MAX), [EntityName086] VARCHAR(MAX), [EntityName087]


VARCHAR(MAX), [EntityName088] VARCHAR(MAX), [EntityName089] VARCHAR(MAX),
[EntityName090] VARCHAR(MAX),

[EntityName091] VARCHAR(MAX), [EntityName092] VARCHAR(MAX), [EntityName093]


VARCHAR(MAX), [EntityName094] VARCHAR(MAX), [EntityName095] VARCHAR(MAX),
[EntityName096] VARCHAR(MAX),

[EntityName097] VARCHAR(MAX), [EntityName098] VARCHAR(MAX), [EntityName099]


VARCHAR(MAX), [EntityName100] VARCHAR(MAX), [EntityName101] VARCHAR(MAX),
[EntityName102] VARCHAR(MAX),

[EntityName103] VARCHAR(MAX), [EntityName104] VARCHAR(MAX), [EntityName105]


VARCHAR(MAX), [EntityName106] VARCHAR(MAX), [EntityName107] VARCHAR(MAX),
[EntityName108] VARCHAR(MAX),

[EntityName109] VARCHAR(MAX), [EntityName110] VARCHAR(MAX), [EntityName111]


VARCHAR(MAX), [EntityName112] VARCHAR(MAX), [EntityName113] VARCHAR(MAX),
[EntityName114] VARCHAR(MAX),

[EntityName115] VARCHAR(MAX), [EntityName116] VARCHAR(MAX), [EntityName117]


VARCHAR(MAX), [EntityName118] VARCHAR(MAX), [EntityName119] VARCHAR(MAX),
[EntityName120] VARCHAR(MAX),

[EntityName121] VARCHAR(MAX), [EntityName122] VARCHAR(MAX), [EntityName123]


VARCHAR(MAX), [EntityName124] VARCHAR(MAX))

INSERT INTO @InforcePolicyTranspose (

[Policy Number], [NAME], [ADDRESS1], [ADDRESS2], [CITY], [STATE],


[ZIPCODE], [EntityName001], [EntityName002], [EntityName003],
[EntityName004], [EntityName005], [EntityName006],

[EntityName007], [EntityName008], [EntityName009], [EntityName010],


[EntityName011], [EntityName012], [EntityName013], [EntityName014],
[EntityName015], [EntityName016],

[EntityName017], [EntityName018], [EntityName019], [EntityName020],


[EntityName021], [EntityName022], [EntityName023], [EntityName024],
[EntityName025], [EntityName026],

[EntityName027], [EntityName028], [EntityName029], [EntityName030],


[EntityName031], [EntityName032], [EntityName033], [EntityName034],
[EntityName035], [EntityName036],
[EntityName037], [EntityName038], [EntityName039], [EntityName040],
[EntityName041], [EntityName042], [EntityName043], [EntityName044],
[EntityName045], [EntityName046],

[EntityName047], [EntityName048], [EntityName049], [EntityName050],


[EntityName051], [EntityName052], [EntityName053], [EntityName054],
[EntityName055], [EntityName056],

[EntityName057], [EntityName058], [EntityName059], [EntityName060],


[EntityName061], [EntityName062], [EntityName063], [EntityName064],
[EntityName065], [EntityName066],

[EntityName067], [EntityName068], [EntityName069], [EntityName070],


[EntityName071], [EntityName072], [EntityName073], [EntityName074],
[EntityName075], [EntityName076],

[EntityName077], [EntityName078], [EntityName079], [EntityName080],


[EntityName081], [EntityName082], [EntityName083], [EntityName084],
[EntityName085], [EntityName086],

[EntityName087], [EntityName088], [EntityName089], [EntityName090],


[EntityName091], [EntityName092], [EntityName093], [EntityName094],
[EntityName095], [EntityName096],

[EntityName097], [EntityName098], [EntityName099], [EntityName100],


[EntityName101], [EntityName102], [EntityName103], [EntityName104],
[EntityName105], [EntityName106],

[EntityName107], [EntityName108], [EntityName109], [EntityName110],


[EntityName111], [EntityName112], [EntityName113], [EntityName114],
[EntityName115], [EntityName116],

[EntityName117], [EntityName118], [EntityName119], [EntityName120],


[EntityName121], [EntityName122], [EntityName123], [EntityName124]

execute sp_executesql @query;

select [Policy Number] ,[NAME] ,[ADDRESS1] ,[ADDRESS2] ,[CITY] ,[STATE] ,


[ZIPCODE] ,ISNULL([EntityName001],'') as EntityName001 ,ISNULL([EntityName002],'') as
EntityName002

,ISNULL([EntityName003],'') as EntityName003 ,ISNULL([EntityName004],'') as EntityName004


,ISNULL([EntityName005],'') as EntityName005 ,ISNULL([EntityName006],'') as
EntityName006

,ISNULL([EntityName007],'') as EntityName007 ,ISNULL([EntityName008],'') as EntityName008


,ISNULL([EntityName009],'') as EntityName009 ,ISNULL([EntityName010],'') as
EntityName010
,ISNULL([EntityName011],'') as EntityName011 ,ISNULL([EntityName012],'') as EntityName012
,ISNULL([EntityName013],'') as EntityName013 ,ISNULL([EntityName014],'') as
EntityName014

,ISNULL([EntityName015],'') as EntityName015 ,ISNULL([EntityName016],'') as EntityName016


,ISNULL([EntityName017],'') as EntityName017 ,ISNULL([EntityName018],'') as
EntityName018

,ISNULL([EntityName019],'') as EntityName019 ,ISNULL([EntityName020],'') as EntityName020


,ISNULL([EntityName021],'') as EntityName021 ,ISNULL([EntityName022],'') as
EntityName022

,ISNULL([EntityName023],'') as EntityName023 ,ISNULL([EntityName024],'') as EntityName024


,ISNULL([EntityName025],'') as EntityName025 ,ISNULL([EntityName026],'') as
EntityName026

,ISNULL([EntityName027],'') as EntityName027 ,ISNULL([EntityName028],'') as EntityName028


,ISNULL([EntityName029],'') as EntityName029 ,ISNULL([EntityName030],'') as
EntityName030

,ISNULL([EntityName031],'') as EntityName031 ,ISNULL([EntityName032],'') as EntityName032


,ISNULL([EntityName033],'') as EntityName033 ,ISNULL([EntityName034],'') as
EntityName034

,ISNULL([EntityName035],'') as EntityName035 ,ISNULL([EntityName036],'') as EntityName036


,ISNULL([EntityName037],'') as EntityName037 ,ISNULL([EntityName038],'') as
EntityName038

,ISNULL([EntityName039],'') as EntityName039 ,ISNULL([EntityName040],'') as EntityName040


,ISNULL([EntityName041],'') as EntityName041 ,ISNULL([EntityName042],'') as
EntityName042

,ISNULL([EntityName043],'') as EntityName043 ,ISNULL([EntityName044],'') as EntityName044


,ISNULL([EntityName045],'') as EntityName045 ,ISNULL([EntityName046],'') as
EntityName046

,ISNULL([EntityName047],'') as EntityName047 ,ISNULL([EntityName048],'') as EntityName048


,ISNULL([EntityName049],'') as EntityName049 ,ISNULL([EntityName050],'') as
EntityName050

,ISNULL([EntityName051],'') as EntityName051 ,ISNULL([EntityName052],'') as EntityName052


,ISNULL([EntityName053],'') as EntityName053 ,ISNULL([EntityName054],'') as
EntityName054

,ISNULL([EntityName055],'') as EntityName055 ,ISNULL([EntityName056],'') as EntityName056


,ISNULL([EntityName057],'') as EntityName057 ,ISNULL([EntityName058],'') as
EntityName058

,ISNULL([EntityName059],'') as EntityName059 ,ISNULL([EntityName060],'') as EntityName060


,ISNULL([EntityName061],'') as EntityName061 ,ISNULL([EntityName062],'') as
EntityName062
,ISNULL([EntityName063],'') as EntityName063 ,ISNULL([EntityName064],'') as EntityName064
,ISNULL([EntityName065],'') as EntityName065 ,ISNULL([EntityName066],'') as
EntityName066

,ISNULL([EntityName067],'') as EntityName067 ,ISNULL([EntityName068],'') as EntityName068


,ISNULL([EntityName069],'') as EntityName069 ,ISNULL([EntityName070],'') as
EntityName070

,ISNULL([EntityName071],'') as EntityName071 ,ISNULL([EntityName072],'') as EntityName072


,ISNULL([EntityName073],'') as EntityName073 ,ISNULL([EntityName074],'') as
EntityName074

,ISNULL([EntityName075],'') as EntityName075 ,ISNULL([EntityName076],'') as EntityName076


,ISNULL([EntityName077],'') as EntityName077 ,ISNULL([EntityName078],'') as
EntityName078

,ISNULL([EntityName079],'') as EntityName079 ,ISNULL([EntityName080],'') as EntityName080


,ISNULL([EntityName081],'') as EntityName081 ,ISNULL([EntityName082],'') as
EntityName082

,ISNULL([EntityName083],'') as EntityName083 ,ISNULL([EntityName084],'') as EntityName084


,ISNULL([EntityName085],'') as EntityName085 ,ISNULL([EntityName086],'') as
EntityName086

,ISNULL([EntityName087],'') as EntityName087 ,ISNULL([EntityName088],'') as EntityName088


,ISNULL([EntityName089],'') as EntityName089 ,ISNULL([EntityName090],'') as
EntityName090

,ISNULL([EntityName091],'') as EntityName091 ,ISNULL([EntityName092],'') as EntityName092


,ISNULL([EntityName093],'') as EntityName093 ,ISNULL([EntityName094],'') as
EntityName094

,ISNULL([EntityName095],'') as EntityName095 ,ISNULL([EntityName096],'') as EntityName096


,ISNULL([EntityName097],'') as EntityName097 ,ISNULL([EntityName098],'') as
EntityName098

,ISNULL([EntityName099],'') as EntityName099 ,ISNULL([EntityName100],'') as EntityName100


,ISNULL([EntityName101],'') as EntityName101 ,ISNULL([EntityName102],'') as
EntityName102

,ISNULL([EntityName103],'') as EntityName103 ,ISNULL([EntityName104],'') as EntityName104


,ISNULL([EntityName105],'') as EntityName105 ,ISNULL([EntityName106],'') as
EntityName106

,ISNULL([EntityName107],'') as EntityName107 ,ISNULL([EntityName108],'') as EntityName108


,ISNULL([EntityName109],'') as EntityName109 ,ISNULL([EntityName110],'') as
EntityName110

,ISNULL([EntityName111],'') as EntityName111 ,ISNULL([EntityName112],'') as EntityName112


,ISNULL([EntityName113],'') as EntityName113 ,ISNULL([EntityName114],'') as
EntityName114
,ISNULL([EntityName115],'') as EntityName115 ,ISNULL([EntityName116],'') as EntityName116
,ISNULL([EntityName117],'') as EntityName117 ,ISNULL([EntityName118],'') as
EntityName118

,ISNULL([EntityName119],'') as EntityName119 ,ISNULL([EntityName120],'') as EntityName120


,ISNULL([EntityName121],'') as EntityName121 ,ISNULL([EntityName122],'') as
EntityName122

,ISNULL([EntityName123],'') as EntityName123 ,ISNULL([EntityName124],'') as EntityName124

from @InforcePolicyTranspose

You might also like