I am running a SQL Pivot against varchar.
I have the following table:
`Continent | State | City --------------------------------------------- North America | California | Oakland North America | California | Los Angeles North America | California | Sacramento North America | California | San Diego North America | California | San Francisco North America | California | Upton North America | Florida | Jacksonville North America | Florida | Fort Lauderdale North America | Florida | Miami North America | Florida | Tampa North America | New York | Albany North America | New York | Buffalo North America | New York | New York North America | New York | Rochester North America | New York | Utica North America | Texas | Austin North America | Texas | Dallas North America | Texas | San Antonio`
and I want to create a pivot table that looks like this:
`Continent | California | Florida | New York | Texas ----------------------------------------------------------------------- North America | Oakland | Jacksonville | Albany | Austin North America | Los Angeles | Fort Lauderdale | Buffalo | Dallas North America | Sacramento | Miami | New York | San Antonio North America | San Diego | Tampa | Rochester | NULL North America | San Francisco | NULL | Utica | NULL North America | Upton | NULL | NULL | NULL`
I am currently using the following code:
` SELECT *
FROM
(
SELECT Placename.Continent,
Placename.State,
Placename.City,
row_number() over(partition by Placename.State order by Placename.City) rn
FROM Placename
) AS SourceTable PIVOT(Min(City) FOR [State] IN([California],
[Florida],
[New York],
[Texas]
)) AS PivotTable`
Note: Min(City) and Max(City) gave me the same output
Now, after using this code, the following table is given:
`Continent | California | Florida | New York | Texas ----------------------------------------------------------------------- North America | Oakland | Jacksonville | NULL | Austin North America | NULL | Fort Lauderdale | Albany | Dallas North America | Los Angeles | NULL | Buffalo | NULL North America | Sacramento | Miami | New York | San Antonio North America | NULL | Tampa | NULL | NULL North America | San Diego | NULL | Rochester | NULL North America | San Francisco | NULL | Utica | NULL North America | Upton | NULL | NULL | NULL`
What is the reason that the table being output is not the same as the desired table output?

