declare @Cols nvarchar(max), @SQL nvarchar(max) select @Cols = STUFF((select distinct ', ' + quotename(MailCounty) from tblCamp_CT order by ', ' + quotename(MailCounty) for XML path('')),1,2,'') set @SQL = 'select ' + @Cols + ' from (select *, DENSE_RANK() over (partition by MailCounty order by Precinct) as Rn from tblCamp_CT) X PIVOT (max(Precinct) FOR MailCounty IN (' + @Cols + ')) pvt' print @SQL -- to debug execute (@SQL)>Are you sure you're using DENSE_RANK() function? That's what my current script is using and it should work fine.
>>Adams >>--------------------------- >>DECATUR 5 >>NULL >>NULL >>NULL >>SO MONROE >>BERNE B >>BERNE B >>BERNE A >>BERNE B >>BERNE B >>SO MONROE >>SO MONROE >>BERNE C >>>>
>>Adams >>--------------------------- >>BERNE A >>BERNE B >>DECATUR 5 >>SO MONROE >>>>
>>>> >>>>MailCounty Precinct >>>>---------------------------- >>>>Hancock WAR 035 >>>>Hancock WAR 030 >>>>Hamilton SPRING FARMS >>>>Johnson WHITE RIVER 07 >>>>Cass Logansport 02 >>>>Hamilton NOBLESVILLE 09 >>>>Hamilton BRENTWOOD >>>>Hamilton LAW 007 >>>>Hancock Brandywine 1 >>>>Adams WEST ROOT >>>>Adams WEST ROOT >>>>>>>>
>>>>
>>>>Adams Cass Hancock Hamilton Johnson
>>>>==================================================================================
>>>>WEST ROOT Logansport 02 Brandywine 1 BRENTWOOD WHITE RIVER 07
>>>> WAR 030 SPRING FARMS
>>>> WAR 035 NOBLESVILLE 09
>>>> LAW 007
>>>>
>>>>
>>>>>>>use tempdb >>>create table #Counties (MailCounty varchar(30), Precinct varchar(30)) >>> >>>insert into #Counties >>>values >>>('Hancock', 'WAR 035'), >>>('Hancock', 'WAR 030'), >>>('Hamilton', 'SPRING FARMS'), >>>('Johnson', 'WHITE RIVER 07'), >>>('Cass', 'Logansport 02'), >>>('Hamilton', 'NOBLESVILLE 09'), >>>('Hamilton', 'BRENTWOOD'), >>>('Hamilton', 'LAW 007'), >>>('Hancock', 'Brandywine 1'), >>>('Adams', 'WEST ROOT'), >>>('Adams', 'WEST ROOT') >>> >>>declare @Cols nvarchar(max), @SQL nvarchar(max) >>> >>>select @Cols = STUFF((select distinct ', ' + quotename(MailCounty) from #Counties order by ', ' + quotename(MailCounty) >>>for XML path('')),1,2,'') >>> >>>set @SQL = 'select ' + @Cols + ' from (select *, DENSE_RANK() over (partition by MailCounty order by Precinct) as Rn >>>from #Counties) X PIVOT (max(Precinct) FOR MailCounty IN (' + @Cols + ')) pvt' >>> >>>print @SQL -- to debug >>> >>>execute (@SQL)